/* ****************************** 게시판 뷰 (community/view.asp) ****************************** */
.bbs-view {
	border-top: 2px solid var(--clr-secondary600);
}
.bv-head {
	padding: 2.4rem 0.4rem;
	border-bottom: var(--line-base);
}
.bv-marks {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-bottom: 1.4rem;
}
.bv-marks .post-new { margin: 0 0 0 0.2rem; }
.bbs-view .sort {
	min-width: 0;
	padding: 0.5rem 1.4rem;
	border-radius: 10rem;
	font-size: var(--fs-mini);
	font-weight: 500;
}
.bbs-view .sort:not(.sort-must) {
	background: var(--clr-secondary50);
	border-color: transparent;
	color: var(--clr-secondary400);
}
.bv-tit {
	font-size: var(--fs-large);
	font-weight: 700;
	line-height: 1.35;
	color: var(--clr-black);
	word-break: keep-all;
}
.bv-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.6rem 2rem;
	margin-top: 1.6rem;
	font-size: var(--fs-mini);
	color: var(--clr-gray400);
}
.bv-meta i {
	margin-right: 0.4rem;
	vertical-align: middle;
}
/* 첨부파일 */
.bv-file {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1fr);
	align-items: start;
	gap: 1rem 1.4rem;
	padding: 1.8rem 2rem;
	margin-top: 2rem;
	background: var(--clr-gray50);
	border-radius: 1.2rem;
}
.bv-file-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--fs-xsmall);
	font-weight: 600;
	line-height: 2.4rem;
	color: var(--clr-gray600);
}
.bv-file-list {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
}
.bv-file-list a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	width: fit-content;
	max-width: 100%;
	font-size: var(--fs-xsmall);
	line-height: 2.4rem;
	color: var(--clr-gray600);
	transition: color 0.2s;
}
.bv-file-list a > span {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.bv-file-list a > em {	/* 파일 용량 (blog_view.asp) */
	flex: 0 0 auto;
	font-size: var(--fs-mini);
	color: var(--clr-gray400);
}
.bv-file-list a:hover {
	color: var(--clr-primary500);
	text-decoration: underline;
}
/* 요약 (blog_view.asp) : 본문에서 뽑아낸 글이므로 인용구처럼 다룬다 */
.bv-summ {
	position: relative;
	z-index: 0;
	margin-top: 2.4rem;
	padding: 2.4rem 2.8rem;
	background: #faeff685;
	border-radius: 1.2rem;
}
/* 배경 따옴표 워터마크 */
.bv-summ::before {
	content: '\ec51';	/* ri-double-quotes-l */
	position: absolute;
	top: -3rem;
	right: 1.4rem;
	z-index: -1;
	font-size: 8rem;
	line-height: 1;
	color: var(--clr-primary200);
	opacity: 0.5;
}

.bv-summ-txt {
	font-family: 'IncheonEducation', 'Pretendard', sans-serif;
	font-size: 2.6rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--clr-primary500);
	word-break: keep-all;
}
/* 본문 */
.bv-body {
	min-height: 20rem;
	padding: 4rem 0.4rem 6rem;
	font-size: var(--fs-normal);
	line-height: 1.75;
	color: var(--clr-gray600);
}
/* 에디터가 넣은 태그까지 모두 적용해야 한다.
   base.css 의 p { word-break: keep-all } 때문에 본문 <p> 는 .bv-body 설정을 상속받지 않는다.
   keep-all 로 어절은 유지하되, 띄어쓰기·&nbsp; 없는 긴 문자열은 overflow-wrap 으로 끊는다 */
.bv-body,
.bv-body * {
	word-break: keep-all;
	overflow-wrap: break-word;
}
.bv-body p {
	font-size: inherit;
	color: inherit;
}
.bv-body p + p { margin-top: 1.6rem; }
.bv-body img {
	display: block;
	margin: 2rem auto;
	border-radius: 0.8rem;
}
/* 이전글 · 다음글 */
.bv-nav {
	border-top: var(--line-base);
	border-bottom: var(--line-base);
}
.bv-nav-item {
	display: grid;
	grid-template-columns: 12rem minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
	padding: 1.8rem 2rem;
	transition: 0.2s;
}
.bv-nav-item + .bv-nav-item { border-top: var(--line-base); }
.bv-nav-item:hover {
	background: var(--clr-primary50);
	font-weight: 500;
}
.bv-nav-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--fs-xsmall);
	font-weight: 600;
	color: var(--clr-gray400);
}
.bv-nav-tit {
	font-size: var(--fs-small);
	color: var(--clr-gray600);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	transition: color 0.2s;
}
.bv-nav-item:hover .bv-nav-tit { color: var(--clr-primary500); }
.bv-nav-item.is-none { pointer-events: none; }
.bv-nav-item.is-none .bv-nav-tit { color: var(--clr-gray300); }
/* 하단 버튼 */
.bv-btns {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 4rem 0 0;
}
/* 게시물 없음 */
.bv-empty {
	padding: 10rem 2rem;
	text-align: center;
	font-size: var(--fs-medium);
	color: var(--clr-gray300);
	border-top: 2px solid var(--clr-secondary600);
	border-bottom: var(--line-base);
}
/* 1:1 문의 답변 (mypage/oto_view.asp) */
/* .bbs-view .sort 기본색이 상태색을 덮으므로 같은 특이도로 되돌린다 */
.bv-marks .sort-answer.sa-ok {
	background: var(--clr-gray100);
	color: var(--clr-gray500);
}
.bv-marks .sort-answer.sa-no {
	background: var(--clr-primary50);
	color: var(--clr-primary500);
	font-weight: 500;
}
.bv-answer {
	padding: 2.4rem 2.8rem;
	background: var(--clr-gray50);
	border-radius: 1.4rem;
}
.bv-answer-head {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 1.2rem;
	font-size: var(--fs-normal);
	font-weight: 600;
	color: var(--clr-secondary500);
}
.bv-answer-date {
	margin-left: auto;
	font-size: var(--fs-mini);
	font-weight: 400;
	color: var(--clr-gray400);
}
.bv-answer-txt {
	font-size: var(--fs-normal);
	line-height: 1.75;
	color: var(--clr-gray600);
	word-break: keep-all;
	overflow-wrap: break-word;
}

/* ****************************** 게시판 쓰기 (mypage/oto_write.asp) ****************************** */
.bbs-write {
	border-top: 2px solid var(--clr-secondary600);
}
.bw-row {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	align-items: center;
	gap: 1.6rem 2rem;
	padding: 1.6rem 0.4rem;
	border-bottom: var(--line-base);
}
.bw-row-body { align-items: start; }	/* 내용 행은 라벨을 위쪽에 붙인다 */
.bw-label {
	font-size: var(--fs-regular);
	font-weight: 600;
	color: var(--clr-black);
}
/* 필수 표시(*)는 comm.css 의 .mark-asterisk 를 그대로 쓴다. 좌우 여백만 해제 (sub.css 의 .tb-issue 와 같은 처리) */
.bw-label.mark-asterisk { margin: 0; }
.bw-field { min-width: 0; }
.bw-field select,
.bw-field input[type=text] {
	width: 100%;
	height: 5rem;
	padding: 0 1.6rem;
	font-size: var(--fs-normal);
	background: #fff;
	border: 1px solid var(--clr-gray200);
	border-radius: 8px;
}
.bw-field select { max-width: 24rem; }
.bw-field textarea {
	width: 100%;
	min-height: 28rem;
	padding: 1.6rem;
	background: #fff;
	border: 1px solid var(--clr-gray200);
	border-radius: 8px;
	font-size: var(--fs-normal);
	line-height: 1.6;
}
/* base.css 의 input:focus 보다 특이도가 높아 테두리를 직접 덮어써야 한다 */
.bw-field select:focus,
.bw-field input[type=text]:focus,
.bw-field textarea:focus { border-color: var(--clr-primary400); }
.bw-btns {
	display: flex;
	justify-content: center;
	margin: 4rem 0 0;
}


/* ****************************** 반응형 ****************************** */

/* ********** for laptop ***********/
@media all and (min-width:1024px) and (max-width:1279px) {

}

/* ********** for Tablet ***********/
@media all and (min-width:768px) and (max-width:1023px) {

}

/* ********** for Mobile ***********/
@media all and (max-width:767px) {
	.bv-summ {
		padding: 2rem;
		margin-top: 2rem;
	}
	.bv-summ::before { font-size: 6rem; }
	.bv-summ-txt { font-size: 2rem; }

	/* 게시판 뷰 (community/view.asp) */
	.bv-head { padding: 2.4rem 0 2rem; }
	.bv-tit { font-size: var(--fs-medium); }
	.bv-meta { gap: 0.6rem 1.4rem; }
	.bv-file {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.8rem;
		padding: 1.6rem;
	}
	.bv-body { padding: 3rem 0 4rem; }
	.bv-answer { padding: 2rem 1.6rem; }
	.bv-nav-item {
		grid-template-columns: 8.6rem minmax(0, 1fr);
		gap: 1.2rem;
		padding: 1.4rem 0.4rem;
	}

	/* 게시판 쓰기 (mypage/oto_write.asp) : 라벨을 입력칸 위로 올린다 */
	.bw-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.8rem;
		padding: 1.6rem 0;
	}
	.bw-field select { max-width: none; }
	.bw-field textarea { min-height: 22rem; }
	.bw-btns .btn { width: 100%; }
}

@media all and (max-width:480px) {

}