/* 교재몰 상세 — new.mukoom 스타일 (sub-body--bookstore 스코프) */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');

.sub-body--bookstore {
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}

.sub-body--bookstore .detail-top.bookview {
	width: 100%;
	display: flex;
	align-items: stretch;
	gap: 20px;
}

.sub-body--bookstore .detail-top.bookview .left {
	float: none;
	width: 32%;
	max-width: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 11px;
	border: 1px solid #ddd;
	position: relative;
}

.sub-body--bookstore .detail-top.bookview .left > img {
	width: 100%;
	height: 100%;
	margin-bottom: 0;
	border-radius: 10px;
	object-fit: contain;
	display: block;
}

.sub-body--bookstore .detail-top.bookview .right {
	float: none;
	flex: 1;
	width: auto;
	padding: 0;
}

.sub-body--bookstore .detail-top .right p {
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 5px;
}

.sub-body--bookstore .detail-top .right select {
	height: 35px;
}

.sub-body--bookstore .detail-top .right h2 {
	color: #000;
	margin-bottom: 7px;
	font-size: 19px;
	line-height: 1.35;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.sub-body--bookstore .detail-top .right table {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	width: 100%;
	font-size: 15px;
	border-collapse: collapse;
	table-layout: auto;
}

.sub-body--bookstore .detail-top .right th {
	padding: 10px;
	background: #f5f5f5;
	width: 30%;
	color: #333;
	font-weight: 500;
}

.sub-body--bookstore .detail-top .right td {
	padding: 10px;
	width: 70%;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.sub-body--bookstore .detail-top .right td .line {
	text-decoration: line-through;
}

.sub-body--bookstore .detail-top .right td .price {
	font-size: 18px;
	color: #ca2500;
	font-weight: bold;
}

/* 결제 버튼 */
.sub-body--bookstore .pay-btn.bookpay {
	margin-top: 10px;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: center;
	gap: 8px;
	width: 100%;
}

.sub-body--bookstore .pay-btn span {
	display: flex;
	gap: 6px;
	width: 100%;
}

.sub-body--bookstore .pay-btn button.large {
	border: 0;
	border-radius: 5px;
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0 12px;
	font-size: 15px;
	font-family: inherit;
	font-weight: 600;
	line-height: 1;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 6px;
	vertical-align: middle;
	box-sizing: border-box;
}

.sub-body--bookstore .pay-btn button.large img {
	width: 20px !important;
	height: 20px !important;
	min-width: 20px;
	min-height: 20px;
	margin: 0 !important;
	padding: 0;
	flex: 0 0 20px;
	display: block;
	position: static;
	top: auto;
	vertical-align: middle;
	object-fit: contain;
}

.sub-body--bookstore .pay-btn button.buyGo {
	background: #3168d0;
	color: #fff;
}

.sub-body--bookstore .pay-btn button.buyGo img {
	filter: brightness(0) invert(1);
}

.sub-body--bookstore .pay-btn button.buyCart {
	background: #ffffff;
	border: 1px solid #3168d0;
	color: #4a72d9;
	font-weight: 600;
}

.sub-body--bookstore .pay-btn button.buyCart img {
	filter: brightness(0) saturate(100%) invert(43%) sepia(69%) saturate(1179%) hue-rotate(204deg) brightness(93%) contrast(95%);
}

.sub-body--bookstore .pay-btn button.buyCart:hover {
	background: #f7faff;
	border: 1px solid #9eb9f2;
	color: #3d63c7;
	font-weight: 600;
	transition: all 0.2s ease-out;
}

.sub-body--bookstore .pay-btn button.buyCart:hover img {
	filter: brightness(0) saturate(100%) invert(34%) sepia(84%) saturate(1209%) hue-rotate(214deg) brightness(91%) contrast(90%);
}

/* 탭 */
.sub-body--bookstore .detail-tab {
	overflow: hidden;
	border-bottom: 1px solid #dfdfdf;
	margin-bottom: 10px;
	margin-top: 30px;
	display: flex;
	align-items: center;
}

.sub-body--bookstore .detail-tab button {
	border-radius: 5px 5px 0 0;
	background-color: inherit;
	border: none;
	outline: none;
	cursor: pointer;
	padding: 0 5%;
	transition: 0.3s;
	font-size: 16px;
	font-family: inherit;
	color: #b8b8b8;
	border: 1px solid #ddd;
	border-bottom: 0;
	height: 40px;
	margin-right: 3px;
}

.sub-body--bookstore .detail-tab button:not(.active),
.sub-body--bookstore .detail-tab .tablinks:not(.active) {
	color: #b8b8b8 !important;
	opacity: 1;
	text-shadow: none;
}

.sub-body--bookstore .detail-tab button:hover:not(.active),
.sub-body--bookstore .detail-tab .tablinks:hover:not(.active) {
	background-color: #2e7fd4;
	color: #ffffff !important;
	border-color: #2e7fd4;
	opacity: 1;
	text-shadow: none;
}

.sub-body--bookstore .detail-tab button.active,
.sub-body--bookstore .detail-tab .tablinks.active {
	background-color: #2e7fd4;
	color: #ffffff !important;
	border-color: #2e7fd4;
	border-top: 2px solid #2e7fd4;
	opacity: 1;
	text-shadow: none;
}

.sub-body--bookstore .tabcontent {
	display: none;
	padding: 20px 0;
}

/* 상세내용 본문 타이포 — CMS 인라인 폰트 덮어쓰기 */
.sub-body--bookstore #book_detail,
.sub-body--bookstore #tran_detail,
.sub-body--bookstore #prod_detail {
	text-align: left;
	padding: 20px 0;
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #444;
	word-break: keep-all;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}

.sub-body--bookstore #book_detail p,
.sub-body--bookstore #tran_detail p,
.sub-body--bookstore #prod_detail p,
.sub-body--bookstore #book_detail div,
.sub-body--bookstore #tran_detail div,
.sub-body--bookstore #prod_detail div,
.sub-body--bookstore #book_detail span,
.sub-body--bookstore #tran_detail span,
.sub-body--bookstore #prod_detail span,
.sub-body--bookstore #book_detail font,
.sub-body--bookstore #tran_detail font,
.sub-body--bookstore #prod_detail font,
.sub-body--bookstore #book_detail li,
.sub-body--bookstore #tran_detail li,
.sub-body--bookstore #prod_detail li {
	font-family: inherit !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #444 !important;
	font-weight: 400;
}

.sub-body--bookstore #book_detail p,
.sub-body--bookstore #tran_detail p,
.sub-body--bookstore #prod_detail p {
	margin: 0 0 0.6em;
}

.sub-body--bookstore #book_detail h1,
.sub-body--bookstore #book_detail h2,
.sub-body--bookstore #book_detail h3,
.sub-body--bookstore #book_detail h4,
.sub-body--bookstore #tran_detail h1,
.sub-body--bookstore #tran_detail h2,
.sub-body--bookstore #tran_detail h3,
.sub-body--bookstore #tran_detail h4,
.sub-body--bookstore #prod_detail h1,
.sub-body--bookstore #prod_detail h2,
.sub-body--bookstore #prod_detail h3,
.sub-body--bookstore #prod_detail h4 {
	font-family: inherit !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	font-weight: 700 !important;
	color: #222 !important;
	margin: 0 0 0.5em;
}

.sub-body--bookstore #book_detail strong,
.sub-body--bookstore #book_detail b,
.sub-body--bookstore #tran_detail strong,
.sub-body--bookstore #tran_detail b,
.sub-body--bookstore #prod_detail strong,
.sub-body--bookstore #prod_detail b {
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #222 !important;
}

.sub-body--bookstore #book_detail a,
.sub-body--bookstore #tran_detail a,
.sub-body--bookstore #prod_detail a {
	font-family: inherit !important;
	font-size: 15px !important;
	color: #0e355f !important;
	text-decoration: underline;
	font-weight: 400;
}

.sub-body--bookstore #book_detail a:hover,
.sub-body--bookstore #tran_detail a:hover,
.sub-body--bookstore #prod_detail a:hover {
	color: #2e7fd4;
}

.sub-body--bookstore #book_detail p img {
	width: auto;
	max-width: 100%;
	height: auto !important;
}

.sub-body--bookstore #book_detail img,
.sub-body--bookstore #tran_detail img,
.sub-body--bookstore #prod_detail img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto !important;
	object-fit: contain;
}

.sub-body--bookstore #tran_detail p img,
.sub-body--bookstore #tran_detail table img,
.sub-body--bookstore #tran_detail a img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto !important;
	object-fit: contain;
}

.sub-body--bookstore #tran_detail table {
	max-width: 100%;
	width: 100% !important;
	table-layout: fixed;
	border-collapse: collapse;
}

.sub-body--bookstore .space50 {
	height: 50px;
	clear: both;
}

/* 관련강좌 */
.sub-body--bookstore ul.lecture-block li {
	border-radius: 5px;
	box-sizing: border-box;
}

.sub-body--bookstore ul.lecture-block li:hover {
	border: 1px solid #4e609f;
	transition: all 0.2s ease-out;
}

/* 태블릿: 탭 여백 축소 */
@media screen and (max-width: 1100px) {
	.sub-body--bookstore .detail-tab button,
	.sub-body--bookstore .detail-tab .tablinks {
		padding: 0 3%;
		font-size: 14px;
	}
}

/* 태블릿·모바일: 상단 레이아웃 세로 스택 */
@media (max-width: 834px) {
	.sub-body--bookstore {
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	.sub-body--bookstore .detail-top.bookview {
		display: block;
	}

	.sub-body--bookstore .detail-top.bookview .left {
		width: 100%;
		max-width: 320px;
		margin: 0 auto 10px;
		display: block;
	}

	.sub-body--bookstore .detail-top.bookview .left > img {
		width: 100%;
		height: auto;
		object-fit: initial;
	}

	.sub-body--bookstore .detail-top.bookview .right {
		width: 100%;
	}

	.sub-body--bookstore .detail-top .right table {
		table-layout: auto;
	}

	.sub-body--bookstore .tabcontent,
	.sub-body--bookstore #book_detail,
	.sub-body--bookstore #tran_detail,
	.sub-body--bookstore #prod_detail {
		padding: 16px 10px;
		box-sizing: border-box;
		font-size: 14px;
	}

	.sub-body--bookstore #book_detail p,
	.sub-body--bookstore #tran_detail p,
	.sub-body--bookstore #prod_detail p,
	.sub-body--bookstore #book_detail div,
	.sub-body--bookstore #tran_detail div,
	.sub-body--bookstore #prod_detail div,
	.sub-body--bookstore #book_detail span,
	.sub-body--bookstore #tran_detail span,
	.sub-body--bookstore #prod_detail span,
	.sub-body--bookstore #book_detail font,
	.sub-body--bookstore #tran_detail font,
	.sub-body--bookstore #prod_detail font,
	.sub-body--bookstore #book_detail li,
	.sub-body--bookstore #tran_detail li,
	.sub-body--bookstore #prod_detail li,
	.sub-body--bookstore #book_detail h1,
	.sub-body--bookstore #book_detail h2,
	.sub-body--bookstore #book_detail h3,
	.sub-body--bookstore #book_detail h4,
	.sub-body--bookstore #tran_detail h1,
	.sub-body--bookstore #tran_detail h2,
	.sub-body--bookstore #tran_detail h3,
	.sub-body--bookstore #tran_detail h4,
	.sub-body--bookstore #prod_detail h1,
	.sub-body--bookstore #prod_detail h2,
	.sub-body--bookstore #prod_detail h3,
	.sub-body--bookstore #prod_detail h4,
	.sub-body--bookstore #book_detail strong,
	.sub-body--bookstore #book_detail b,
	.sub-body--bookstore #tran_detail strong,
	.sub-body--bookstore #tran_detail b,
	.sub-body--bookstore #prod_detail strong,
	.sub-body--bookstore #prod_detail b,
	.sub-body--bookstore #book_detail a,
	.sub-body--bookstore #tran_detail a,
	.sub-body--bookstore #prod_detail a {
		font-size: 14px !important;
	}

	.sub-body--bookstore .space50 {
		height: 20px;
	}

	.sub-body--bookstore .pay-btn.bookpay {
		display: flex;
		gap: 8px;
	}

	.sub-body--bookstore .pay-btn button.large {
		flex: 1 1 calc(50% - 4px);
		height: 44px;
		font-size: 14px;
	}

	.sub-body--bookstore .detail-tab {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.sub-body--bookstore .detail-tab::-webkit-scrollbar {
		display: none;
	}

	.sub-body--bookstore .detail-tab button,
	.sub-body--bookstore .detail-tab .tablinks {
		flex: 1 1 0;
		min-width: 0;
		font-size: 13px;
		height: 40px;
		padding: 0 5px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.sub-body--bookstore .pay-btn button.large img {
		width: 18px !important;
		height: 18px !important;
		min-width: 18px;
		min-height: 18px;
		flex: 0 0 18px;
	}

	/* 배송/반품 안내 등 CMS 이미지 — 인라인 고정 px 비율 보정 */
	.sub-body--bookstore #book_detail img,
	.sub-body--bookstore #tran_detail img,
	.sub-body--bookstore #prod_detail img,
	.sub-body--bookstore #book_detail p img,
	.sub-body--bookstore #tran_detail p img,
	.sub-body--bookstore #prod_detail p img,
	.sub-body--bookstore #tran_detail table img,
	.sub-body--bookstore #tran_detail a img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		object-fit: contain;
	}
}

/* 모바일: 탭·자간 보정 */
@media (max-width: 480px) {
	.sub-body--bookstore,
	.sub-body--bookstore * {
		letter-spacing: normal;
	}

	.sub-body--bookstore .detail-tab button,
	.sub-body--bookstore .detail-tab .tablinks {
		font-size: 13px;
		padding: 0 4px;
	}

	.sub-body--bookstore .pay-btn.bookpay button.large {
		height: 42px;
		font-size: 14px;
		gap: 5px;
	}
}

@media screen and (max-width: 768px) {
	.sub-body--bookstore .pay-btn.bookpay button.large img {
		max-width: none;
		width: 18px !important;
		height: 18px !important;
	}
}
