@charset "utf-8";

/* View */
.view-wrap .img-photo i { background: rgb(245, 245, 245); padding: 16px; border-radius: 50%; width: 80px; height: 80px; text-align: center; color: rgb(143, 143, 143); font-size: 40px; display: inline-block; }
.view-wrap .img-photo img { border-radius: 50%; width: 80px !important; height: 80px !important; display:inline-block; }
.view-wrap .img-resize img { max-width:100%; height:auto; }
.view-wrap .no-attach { border-bottom:0px; }
.view-wrap .view-cnt { letter-spacing:0; }

.view-wrap h1 { font-size: 22px; font-weight:bold; margin:0px; line-height:50px; display:block; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; overflow:hidden; margin:0px; padding:0px 10px; color: rgb(59, 62, 67); letter-spacing:-1px; }
.view-wrap h1 span.talker-photo { margin-bottom:10px; margin-right:10px; }
.view-head { border-left:0px; border-right:0px; }
.view-head .sp { display:inline-block; width:20px; text-align:center; font-size:11px; color:#888; }
.view-head .list-group-item { padding:5px 15px; border-style:dotted; }
.view-tag { margin:10px 0px; padding:0px; color:#888; }
.view-tag a { color:#888; }
.view-tag a:hover { color:crimson; }
.view-cnt { margin-top:4px; }
.view-img img { display:block; max-width:100%; margin:0 auto 15px; border:0; height:auto; }
.view-content { padding-bottom:20px; line-height:180%; }
.view-content img { width:auto; height:auto; max-width:100%; }
.view-content p { padding:0; margin:0; line-height:180%; }
.view-good-box { text-align:center; }
.view-good-box span { margin:15px 6px; width:80px; height:80px; display:inline-block; }
.view-good-box a { background: rgb(245, 245, 245); padding-top:14px; border-radius: 50%; width: 80px; height: 80px; text-align: center; color: rgb(51, 51, 51); font-size: 22px; line-height:26px; display: inline-block; }
.view-good-box .view-good a:hover { background: rgb(223, 17, 25); color: rgb(255, 255, 255); }
.view-good-box .view-nogood a:hover { background: rgb(0, 0, 0); color: rgb(255, 255, 255); }
.view-author .auth-photo { width:160px; padding-right:15px; }
.view-icon { margin-bottom:10px; }
.view-icon img { width:34px; border-radius:50%; margin-bottom:5px; }
.view-comment { margin: 0px; padding: 0px 0px 5px; text-transform: capitalize; overflow: hidden; border-bottom: 1px solid rgb(51, 51, 51); display: inline-block; position: relative; }

/* Padding */
.view-padding { padding-left:15px; padding-right:15px; }
.is-mobile .view-padding { padding-left:0px; padding-right:0px; }
.view-author-none { height:1px; border-top:1px solid #eee; margin:12px 0px 20px; }

/* Comment */
.comment-media { margin:10px 0px; }
.comment-media .photo i { background: rgb(245, 245, 245); padding: 15px; border-radius: 50%; width: 64px; height: 64px; text-align: center; color: rgb(143, 143, 143); font-size: 30px; display: inline-block; }
.comment-media .photo img { border-radius: 50%; width: 64px !important; height: 64px !important; display:inline-block; }
.view-mobile .comment-media .photo i { padding: 10px; width: 54px; height: 54px; }
.view-mobile .comment-media .photo img { width: 54px !important; height: 54px !important; }

.comment-media .media { border-top:1px solid #eee; margin:7px 0px; padding:7px 0px 0px; }
.comment-media :first-child.media { border-top:0px; margin-top:0px; padding-top:0px; }
.comment-media h5 { margin:2px 0px; line-height: 22px; }
.comment-media .media .media-body { padding-left:0px; }
.comment-media .media .media-info { margin-left:10px; }
.comment-media .media .media-content { margin-top:8px; }
.comment-media .media .media-btn {	margin-left:4px; }
.comment-media .cmt-good-btn { text-align:right; padding-right:1px; }
.comment-media .cmt-good, .comment-media .cmt-nogood { display:inline-block; width:74px; height:20px; margin-top:10px; padding-right:10px; margin-right:-1px; font:bold 11px verdana; text-align:right; letter-spacing:-1px; line-height:19px; cursor:pointer; }
.comment-media .cmt-good { background: url('../../img/cmt_good.gif') no-repeat left center; color:#f4695b; }
.comment-media .cmt-nogood { background: url('../../img/cmt_nogood.gif') no-repeat left center; color:#888; }

.comment-form { padding-top:10px; }
.comment-box { border:1px solid #ddd; padding:12px 12px 0px; margin-bottom:15px; background:#fbfbfb; }
.comment-content { display:table; width:100%; table-layout:fixed; }
.comment-content .comment-cell { display:table-cell; padding:0px; text-align:center; vertical-align:middle; }
.comment-content .comment-cell.comment-submit { width:80px; height:100%; background:#fafafa; border:1px solid #ccc; border-left:0px; cursor:pointer; }
.comment-btn .cursor { margin-left:12px; color:#787878; }

#wr_content { resize:none; }
#bo_vc_opt ol {	margin:0;padding:0;list-style:none;zoom:1; }
#bo_vc_opt ol:after { display:block;visibility:hidden;clear:both;content:""; }
#bo_vc_opt ol li { float:left;margin:0; }
#bo_vc_send_sns ul { margin:0;padding:0;list-style:none;zoom:1; }
#bo_vc_send_sns ul:after { display:block;visibility:hidden;clear:both;content:""; }
#bo_vc_send_sns ul li {	float:left;margin:0 20px 0 0; }
#bo_vc_send_sns input {	margin:0 0 0 5px; }

@media all and (max-width:768px) {
	.responsive .view-wrap h1 { text-overflow:clip; overflow:none; white-space:normal; line-height: 28px; font-size: 20px; margin-bottom:10px; }
	.responsive .view-wrap h1 .photo { display:none; }
}

@media all and (max-width:480px) {
	.responsive .view-author .auth-photo { float:none; width:100%; padding-right:0px; }
	.responsive .view-icon .pull-right { float:none !important; }
}

/* —— 상품/랜딩형 읽기 레이아웃 (product-landing) —— */
.product-landing { --pd-red: #d31917; --pd-navy: #1a233e; --pd-grey: #f2f2f2; --pd-border: #e5e5e5; max-width: 1200px; margin: 0 auto; }
.product-landing .pd-hero { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; margin-bottom: 24px; padding: 0 15px; }
.product-landing .pd-hero__media { flex: 1 1 320px; min-width: 280px; background: var(--pd-grey); border-radius: 12px; overflow: hidden; border: 1px solid var(--pd-border); }
.product-landing .pd-hero__media img { display: block; width: 100%; max-width: 100%; height: auto; vertical-align: top; }
.product-landing .pd-hero__slides { width: 100%; }
.product-landing .pd-hero__slide { width: 100%; }
.product-landing .pd-hero__slide img { width: 100%; max-width: 100%; height: auto; object-fit: unset; }
.product-landing .pd-hero__placeholder { min-height: 240px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #999; padding: 40px 20px; text-align: center; }
.product-landing .pd-hero__placeholder i { font-size: 48px; margin-bottom: 12px; opacity: 0.5; }
.product-landing .pd-hero__aside { flex: 1 1 300px; min-width: 280px; }

/* pd-hero: 높이 380px 고정 + 왼쪽 대표 이미지는 영역 안에 전체 표시(object-fit: contain) */
@media all and (min-width: 769px) {
	.product-landing .pd-hero {
		height: 390px;
		min-height: 390px;
		max-height: 390px;
		align-items: stretch;
		flex-wrap: nowrap;
		overflow: hidden;
		box-sizing: border-box;
	}
	.product-landing .pd-hero__media {
		height: 100%;
		min-height: 0;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		background: #fff;
	}
	.product-landing .pd-hero__slides {
		flex: 1 1 auto;
		min-height: 0;
		height: 100%;
		position: relative;
	}
	.product-landing .pd-hero__media--carousel .pd-hero__slides {
		height: auto;
		flex: 1 1 0;
		min-height: 0;
	}
	.product-landing .pd-hero__thumbs {
		flex: 0 0 auto;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 8px;
		padding: 8px 8px 10px;
		box-sizing: border-box;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		background: #f5f5f5;
		border-top: 1px solid var(--pd-border);
	}
	.product-landing .pd-hero__thumb {
		flex: 0 0 auto;
		width: 64px;
		height: 48px;
		padding: 0;
		margin: 0;
		border: 2px solid transparent;
		border-radius: 6px;
		overflow: hidden;
		cursor: pointer;
		background: #e8e8e8;
		box-sizing: border-box;
		transition: border-color 0.2s, opacity 0.2s;
		opacity: 0.75;
	}
	.product-landing .pd-hero__thumb:hover,
	.product-landing .pd-hero__thumb:focus-visible {
		opacity: 1;
		outline: none;
		border-color: #bbb;
	}
	.product-landing .pd-hero__thumb.is-active {
		opacity: 1;
		border-color: var(--pd-red);
	}
	.product-landing .pd-hero__thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	.product-landing .pd-hero__slide {
		display: none;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}
	.product-landing .pd-hero__slide.is-active {
		display: block;
	}
	.product-landing .pd-hero__slide img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	/* 게시판 스킨: .pd-hero__media 바로 아래 img */
	.product-landing .pd-hero__media > img {
		flex: 1 1 auto;
		min-height: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	.product-landing .pd-hero__placeholder {
		flex: 1 1 auto;
		min-height: 0;
		height: 100%;
		width: 100%;
		box-sizing: border-box;
	}
	.product-landing .pd-hero__aside {
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media all and (max-width: 768px) {
	.product-landing .pd-hero__media {
		height: 380px;
		display: flex;
		flex-direction: column;
		background: #fff;
	}
	.product-landing .pd-hero__slides {
		flex: 1 1 auto;
		min-height: 0;
		height: 100%;
		position: relative;
	}
	.product-landing .pd-hero__media--carousel .pd-hero__slides {
		height: auto;
		flex: 1 1 0;
		min-height: 0;
	}
	.product-landing .pd-hero__thumbs {
		flex: 0 0 auto;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 6px;
		padding: 6px 6px 8px;
		box-sizing: border-box;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		background: #f5f5f5;
		border-top: 1px solid var(--pd-border);
	}
	.product-landing .pd-hero__thumb {
		flex: 0 0 auto;
		width: 56px;
		height: 42px;
		padding: 0;
		margin: 0;
		border: 2px solid transparent;
		border-radius: 6px;
		overflow: hidden;
		cursor: pointer;
		background: #e8e8e8;
		box-sizing: border-box;
		transition: border-color 0.2s, opacity 0.2s;
		opacity: 0.75;
	}
	.product-landing .pd-hero__thumb:hover,
	.product-landing .pd-hero__thumb:focus-visible {
		opacity: 1;
		outline: none;
		border-color: #bbb;
	}
	.product-landing .pd-hero__thumb.is-active {
		opacity: 1;
		border-color: var(--pd-red);
	}
	.product-landing .pd-hero__thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	.product-landing .pd-hero__slide {
		display: none;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.product-landing .pd-hero__slide.is-active {
		display: block;
	}
	.product-landing .pd-hero__slide img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	.product-landing .pd-hero__media > img {
		flex: 1 1 auto;
		min-height: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	.product-landing .pd-hero__placeholder {
		flex: 1 1 auto;
		min-height: 0;
		height: 100%;
	}
}
.product-landing .pd-title { font-size: 26px; font-weight: 800; line-height: 1.35; margin: 0 0 16px; color: #222; letter-spacing: -0.02em; white-space: normal; }
.product-landing .pd-title .talker-photo { margin-right: 8px; vertical-align: middle; }
.product-landing .pd-price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 14px; margin-bottom: 12px; }
.product-landing .pd-price-orig { font-size: 14px; color: #999; text-decoration: line-through; }
.product-landing .pd-price-sale { font-size: 32px; font-weight: 800; color: var(--pd-red); letter-spacing: -0.03em; }
.product-landing .pd-price-disc { font-size: 16px; font-weight: 800; color: #2f6bff; }
.product-landing .pd-badge { display: inline-block; background: var(--pd-red); color: #fff; font-size: 13px; font-weight: 700; padding: 8px 14px; border-radius: 999px; margin-bottom: 14px; }
.product-landing .pd-info { margin: 0 0 14px; display: grid; gap: 10px; }
.product-landing .pd-info__row { display: grid; grid-template-columns: 92px 1fr; column-gap: 16px; align-items: flex-start; }
.product-landing .pd-info__label { font-size: 13px; color: #666; padding-top: 2px; }
.product-landing .pd-info__value { font-size: 13px; color: #333; line-height: 1.65; }
.product-landing .pd-info__list { margin: 0; padding: 0; list-style: none; }
.product-landing .pd-info__list li { margin: 0 0 4px; }
.product-landing .pd-info__list li:last-child { margin-bottom: 0; }
.product-landing .pd-info__divider { border: 0; border-top: 1px solid var(--pd-border); margin: 8px 0 10px; }
.product-landing .pd-info__divider--below-info { margin: 0 0 12px; }
.product-landing .pd-meta { margin-bottom: 16px; line-height: 1.6; }
.product-landing .pd-meta-dot { display: inline-block; width: 6px; height: 6px; margin: 0 8px; border-radius: 50%; background: #ccc; vertical-align: middle; }
.product-landing .pd-hero__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.product-landing .pd-hero__btns--preview { flex-wrap: nowrap; margin-top: 0; }
.product-landing .pd-hero__btns--preview .pd-btn { flex: 1 1 0; min-width: 0; padding: 10px 8px; font-size: 12px; letter-spacing: -0.02em; }
.product-landing .pd-btn { flex: 1 1 30%; min-width: 100px; text-align: center; padding: 10px 12px; font-size: 13px; font-weight: 600; border-radius: 8px; border: 1px solid #ccc; background: #fff; color: #333; text-decoration: none !important; transition: background 0.15s, border-color 0.15s; }
.product-landing .pd-btn:hover { background: #f5f5f5; color: #111; }
.product-landing .pd-btn--dark { background: #4a4a4a; border-color: #4a4a4a; color: #fff; }
.product-landing .pd-btn--dark:hover { background: #333; color: #fff; }
.product-landing .pd-hero__cta { display: block; width: 100%; text-align: center; padding: 14px 16px; font-size: 16px; font-weight: 800; border-radius: 10px; background: var(--pd-red); color: #fff !important; text-decoration: none !important; box-shadow: 0 4px 14px rgba(211, 25, 23, 0.35); }
.product-landing .pd-hero__cta:hover { filter: brightness(1.05); color: #fff !important; }
.product-landing .pd-hero__subcta { display: flex; flex-wrap: nowrap; gap: 8px; margin-top: 10px; }
.product-landing .pd-hero__subcta .pd-btn--sub { flex: 1 1 0; min-width: 0; text-align: center; padding: 10px 8px; font-size: 13px; font-weight: 600; border-radius: 8px; border: 1px solid #bbb; background: #fff; color: #333 !important; text-decoration: none !important; transition: background 0.15s, border-color 0.15s; }
.product-landing .pd-hero__subcta .pd-btn--sub:hover { background: #f5f5f5; color: #111 !important; }
.product-landing .pd-tags { margin: 8px 0 20px; padding: 14px 16px; background: var(--pd-grey); border-radius: 12px; border: 1px solid var(--pd-border); line-height: 2; }
.product-landing .pd-tags a { display: inline-block; margin: 3px 6px 3px 0; padding: 4px 12px; font-size: 12px; border-radius: 999px; background: #fff; border: 1px solid #ddd; color: #555 !important; text-decoration: none !important; }
.product-landing .pd-tags a:hover { border-color: var(--pd-red); color: var(--pd-red) !important; }
.product-landing .pd-grid { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; margin-bottom: 24px; }
.product-landing .pd-grid__main { flex: 1 1 520px; min-width: 0; }
.product-landing .pd-grid__side { flex: 0 1 320px; min-width: 260px; display: flex; flex-direction: column; gap: 16px; }
.product-landing .pd-box { background: #fff; border: 1px solid var(--pd-border); border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04); }
.product-landing .pd-box__head { background: var(--pd-navy); color: #fff; font-size: 15px; font-weight: 700; padding: 12px 18px; letter-spacing: -0.02em; }
.product-landing .pd-box__body { padding: 18px 20px; }
.product-landing .pd-box__body--links .pd-side-link,
.product-landing .pd-box__body--files .pd-side-file { display: block; padding: 10px 0; border-bottom: 1px dashed var(--pd-border); font-size: 13px; color: #333 !important; text-decoration: none !important; }
.product-landing .pd-box__body--links .pd-side-link:last-child,
.product-landing .pd-box__body--files .pd-side-file:last-child { border-bottom: 0; }
.product-landing .pd-hit { color: var(--pd-red); font-weight: 600; }
.product-landing .pd-file-note { font-size: 12px; color: #666; margin-bottom: 8px; padding: 8px; background: #fff8f0; border-radius: 6px; }
.product-landing .pd-grid .view-content { padding-bottom: 0; }

/* 공통: 제작범위 / 유지보수 / 리뉴얼 (2열 카드) */
.product-landing .pd-scope-common { margin-bottom: 28px; }
.product-landing .pd-scope-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 22px;
	align-items: stretch;
}
.product-landing .pd-scope-col--right { display: flex; flex-direction: column; gap: 22px; }
.product-landing .pd-scope-card { height: 100%; border-radius: 10px; box-shadow: none; }
.product-landing .pd-scope-card .pd-box__head {
	background: #1a2a5a;
	font-size: 16px;
	padding: 14px 18px;
	position: relative;
}
.product-landing .pd-box__head--with-badge { padding-left: 108px; }
.product-landing .pd-scope-head-badge {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	background: #c8191e;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	padding: 6px 8px;
	border-radius: 2px;
	letter-spacing: -0.02em;
}
.product-landing .pd-scope-list {
	margin: 0;
	padding: 0 0 0 1.25em;
	font-size: 14px;
	color: #222;
	line-height: 1.65;
}
.product-landing .pd-scope-list li { margin: 0 0 14px; padding-left: 0.15em; }
.product-landing .pd-scope-list li:last-child { margin-bottom: 0; }
.product-landing .pd-scope-list strong { font-weight: 800; color: #111; }
.product-landing .pd-scope-desc {
	display: block;
	margin-top: 4px;
	color: #666;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
}
.product-landing .pd-scope-badge {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 8px;
	background: #c8191e;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	padding: 5px 7px;
	border-radius: 2px;
	letter-spacing: -0.02em;
}
@media all and (max-width: 991px) {
	.product-landing .pd-scope-grid { grid-template-columns: 1fr; }
	.product-landing .pd-box__head--with-badge { padding-left: 18px; padding-top: 40px; }
	.product-landing .pd-scope-head-badge {
		top: 14px;
		left: 14px;
		transform: none;
	}
}
.product-landing .pd-footer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.product-landing .pd-footer-btn { flex: 1 1 calc(25% - 10px); min-width: 140px; text-align: center; padding: 12px 14px; font-size: 13px; font-weight: 600; border-radius: 8px; border: 1px solid #bbb; background: #fff; color: #333 !important; text-decoration: none !important; }
.product-landing .pd-footer-btn:hover { background: #f8f8f8; }
.product-landing .pd-footer-btn--primary { background: #4a4a4a; border-color: #4a4a4a; color: #fff !important; }
.product-landing .pd-footer-btn--primary:hover { background: #333; color: #fff !important; }
@media all and (max-width: 768px) {
	.product-landing .pd-title { font-size: 22px; }
	.product-landing .pd-price-sale { font-size: 26px; }
	.product-landing .pd-hero__btns .pd-btn { flex: 1 1 45%; }
	.product-landing .pd-hero__btns--preview { flex-wrap: wrap; }
	.product-landing .pd-hero__btns--preview .pd-btn { flex: 1 1 calc(33.333% - 6px); min-width: 92px; font-size: 11px; padding: 10px 4px; }
	.product-landing .pd-hero__subcta { flex-wrap: wrap; }
	.product-landing .pd-hero__subcta .pd-btn--sub { flex: 1 1 calc(50% - 4px); min-width: 120px; font-size: 12px; }
	.product-landing .pd-meta-dot { display: none; }
	.product-landing .pd-meta .pd-meta-date { display: block; margin-top: 6px; }
	.product-landing .pd-footer-btn { flex: 1 1 calc(50% - 10px); }
}