/* 후기 상세 팝업 공통 (연수상세 newCreditCourseDetail 후기 팝업과 동일) */
body.scroll-lock{overflow:hidden !important; touch-action:none; -webkit-overflow-scrolling:none;}

.star-cnt{display:flex; gap:2px;}
.star-cnt .star{width:15px; height:15px; background:url('../images/icon/26_star.svg') no-repeat 0 0; background-size:contain}
.star-cnt .star.on{background-image:url('../images/icon/26_star_on.svg');}
.star-cnt .star.half{background-image:url('../images/icon/26_star_half.svg');}

.new-pop{position:fixed; top:0; left:0; width:100dvw; height:100dvh; background:rgba(0,0,0,.5); z-index:1000; display:none; align-items:center; justify-content:center;}
.new-pop .pop-wrap{position:relative; background:#fff; border-radius:8px; padding:40px 20px 20px; width:calc(100% - 20px)}
.new-pop .pop-wrap.lg{max-width:900px; padding:60px}
.new-pop .pop-con{display:flex; flex-direction:column; gap:40px; max-height:70dvh; overflow:auto; padding:0 10px; margin:0 -10px;}
.new-pop .pop-con::-webkit-scrollbar{width:6px}
.new-pop .pop-close{position:absolute; top:20px; right:20px; width:13px; height:13px; opacity:.6; transition:all .3s ease; border:none; background:transparent; cursor:pointer;}
.new-pop .pop-close:hover{opacity:1;}
.new-pop .pop-handle{display:none;}

#reviewPhotoViewer{position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.88); display:flex; flex-direction:column;}
#reviewPhotoViewer .viewer-photo{flex:1; position:relative; display:flex; align-items:center; justify-content:center; padding-top:20vh; overflow:hidden;}
#reviewPhotoViewer .viewer-photo img{max-width:calc(100% - 120px); max-height:56vh; object-fit:contain; cursor:default;}
#reviewPhotoViewer .viewer-info{height:20vh; min-height:90px; background:rgba(25,25,25,.98); padding:12px 15%; overflow-y:auto; color:#fff; display:flex; flex-direction:column; justify-content:center; gap:6px;}
.review-pop .view-img img{cursor:pointer;}
#reviewPhotoViewer .viewer-cate-blt{display:flex; gap:8px; margin:6px 0 4px;}
#reviewPhotoViewer .viewer-cate-blt label{display:inline-block; line-height:20px; padding:0 8px; border-radius:4px; background:rgba(255,255,255,.15); font-size:12px; color:#ccc;}
#reviewPhotoViewer .viewer-user{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
#reviewPhotoViewer .viewer-user .name{font-size:14px; font-weight:bold;}
#reviewPhotoViewer .viewer-user .day{font-size:12px; color:#aaa;}
#reviewPhotoViewer .viewer-user .star-cnt{display:flex; gap:2px;}
#reviewPhotoViewer .viewer-user .star-cnt .star{width:13px; height:13px;}
#reviewPhotoViewer .viewer-text .tit{font-size:14px; font-weight:bold; color:#eee; margin-bottom:3px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
#reviewPhotoViewer .viewer-text .txt{font-size:13px; color:#bbb; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
#reviewPhotoViewer .viewer-prev,
#reviewPhotoViewer .viewer-next{position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); border:none; width:44px; height:44px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;}
#reviewPhotoViewer .viewer-prev{left:24px;}
#reviewPhotoViewer .viewer-next{right:24px;}
#reviewPhotoViewer .viewer-prev.hidden,
#reviewPhotoViewer .viewer-next.hidden{display:none;}
.viewer-close{position:absolute; top:15px; right:15px; background:none; border:none; cursor:pointer; width:36px; height:36px; display:flex; align-items:center; justify-content:center; z-index:2;}
.viewer-close svg{width:18px; height:18px;}

.review-pop.no-img {grid-template-columns: 1fr;}
.review-pop{display:grid; grid-template-columns:260px auto; gap:40px; align-items:stretch; min-height:0; height:430px}
.review-pop .review-img{display:flex; flex-direction:column; height:430px; min-height:0;}
.review-pop .view-img{position:relative; flex:1 1 auto; min-height:0; border-radius:12px; overflow:hidden; background:#000;}
.review-pop .view-img img{position:absolute; top:0; left:0; width:100%; height:100%; object-fit:contain; object-position:center;}
.review-pop .view-thumb{display:grid; grid-template-columns:repeat(3, 1fr); gap:4px; margin-top:20px; flex-shrink:0;}
.review-pop .view-thumb .img{position:relative; aspect-ratio:84 / 70; border-radius:12px; overflow:hidden; background:#000; cursor:pointer;}
.review-pop .view-thumb .img img{display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.review-pop .review-info{display:flex; flex-direction:column; height:100%; overflow:hidden; min-height:0;}
.review-pop .info-item{display:flex; align-items:center; gap:10px; font-size:12px; color:#aaa}
.review-pop .info-item p + p{position:relative; padding-left:10px}
.review-pop .info-item p + p::before{content:''; position:absolute; top:3px; left:0; width:1px; height:12px; background:#aaa}
.review-pop .cate-blt{display:flex; gap:10px; margin:30px 0 15px;}
.review-pop .cate-blt label{display:inline-block; line-height:22px; padding:0 10px; border-radius:5px; background:#e0f6ff; font-size:12px; color:#626262;}
.review-pop .tit-info{padding-bottom:10px; margin-bottom:20px; border-bottom:1px solid #ddd; display:flex; flex-direction:column; gap:5px;}
.review-pop .tit-info p{font-weight:bold; color:#000;}
.review-pop .tit-info a{margin:0 0 0 auto; font-size:12px; color:#333; display:inline-flex; align-items:center; gap:5px; line-height:1;}
.review-pop .txt-info{flex:1; min-height:0; overflow:auto;}
.review-pop .txt-info::-webkit-scrollbar{width:6px}
.review-pop .txt-info .tit{font-size:16px; font-weight:500; color:#555; margin-bottom:20px;}
.review-pop .txt-info .txt{font-size:14px; line-height:2; white-space:pre-wrap; word-break:break-word;}
.review-pop .review-kwd-row{
	flex:0 0 auto;
	margin-top:16px;
	padding-top:16px;
	border-top:1px solid #eee;
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	align-items:flex-start;
}
.review-pop .review-kwd-row.is-empty{display:none;}
.review-pop .review-kwd-chip{
	display:inline-block;
	padding:6px 12px;
	border-radius:20px;
	background:#e0f6ff;
	font-size:12px;
	line-height:1.4;
	color:#4272f9;
	word-break:keep-all;
}
.review-pop.no-img .review-kwd-row{
	margin-top:20px;
}
.review-pop .flexbox{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.review-pop-star-actions{display:flex; align-items:center; gap:5px; flex:0 0 auto;}
.review-pop-actions{flex:0 0 auto; margin:0;}
.review-pop-edit-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:72px;
	height:30px;
	padding:0;
	border:1px solid #4272f9;
	border-radius:4px;
	background:#fff;
	color:#4272f9;
	font-size:13px;
	line-height:1;
	cursor:pointer;
}

@media (max-width: 767px) {
	/* 바텀시트 레이아웃 */
	.new-pop{align-items:flex-end;}
	.new-pop .pop-wrap{width:100%; border-radius:20px 20px 0 0; max-height:90dvh; display:flex; flex-direction:column; overflow:hidden;}
	.new-pop .pop-wrap.lg{padding:30px 16px 24px;}
	.new-pop .pop-con{max-height:none; flex:1; min-height:0; gap:20px;}
	/* 드래그 핸들 */
	.new-pop .pop-handle{display:block; width:40px; height:4px; border-radius:2px; background:#ddd; margin:12px auto 0;}
	/* X 버튼 — 모바일에서는 숨김(스와이프/바깥 탭으로 닫기), AS-IS 동일 */
	.new-pop .pop-close{display:none;}
	/* 팝업 본문 레이아웃 */
	.review-pop{grid-template-columns:1fr; gap:20px; height:auto;}
	.review-pop .review-img{height:auto; order:2;}
	.review-pop .review-info{order:1; overflow:visible; min-height:auto;}
	.review-pop .cate-blt{margin:15px 0 10px;}
	.review-pop .view-img{flex:none; aspect-ratio:4 / 3;}
}
