.shop_view_wrap{
	max-width:1320px;
	margin:40px auto;
	font-family:Arial,'Noto Sans KR',sans-serif;
	color:#222;
}

.shop_view_top{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:50px;
}

.shop_view_main_img{
	width:100%;
	aspect-ratio:1/1;
	background:#f5f5f5;
	border-radius:22px;
	overflow:hidden;
}

.shop_view_main_img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.shop_view_thumb{
	display:flex;
	gap:10px;
	margin-top:12px;
}

.shop_view_thumb img{
	width:82px;
	height:82px;
	object-fit:cover;
	border:1px solid #ddd;
	border-radius:12px;
	cursor:pointer;
}

.shop_view_info h1{
	font-size:30px;
	line-height:1.35;
	margin:0 0 10px;
}

.shop_view_summary{
	font-size:16px;
	color:#777;
	margin-bottom:24px;
}

.shop_view_price_box{
	border-top:2px solid #222;
	border-bottom:1px solid #ddd;
	padding:22px 0;
	margin-bottom:24px;
}

.shop_view_price{
	font-size:32px;
	font-weight:900;
	color:#00a651;
}

.shop_view_origin_price{
	font-size:18px;
	color:#999;
	text-decoration:line-through;
	margin-right:10px;
}

.shop_view_row{
	display:flex;
	border-bottom:1px solid #eee;
	padding:13px 0;
	font-size:15px;
}

.shop_view_row dt{
	width:120px;
	color:#777;
}

.shop_view_row dd{
	margin:0;
	flex:1;
}

.shop_view_select{
	width:100%;
	height:46px;
	border:1px solid #ddd;
	border-radius:8px;
	padding:0 12px;
	font-size:15px;
	margin-bottom:10px;
	box-sizing:border-box;
}

.shop_selected_box{
	margin-top:18px;
	border-top:1px solid #222;
}

.shop_selected_item{
	display:grid;
	grid-template-columns:1fr 100px 110px 34px;
	gap:10px;
	align-items:center;
	padding:14px 0;
	border-bottom:1px solid #eee;
}

.shop_qty{
	display:flex;
	width:100px;
	border:1px solid #ddd;
	border-radius:6px;
	overflow:hidden;
}

.shop_qty button{
	width:30px;
	height:30px;
	border:0;
	background:#f7f7f7;
	cursor:pointer;
}

.shop_qty input{
	width:38px;
	border:0;
	text-align:center;
}

.shop_item_price{
	font-weight:800;
	text-align:right;
	white-space:nowrap;
}

.shop_del_btn{
	width:30px;
	height:30px;
	border:0;
	background:#222;
	color:#fff;
	border-radius:50%;
	cursor:pointer;
}

.shop_total{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:24px 0;
	font-size:18px;
	font-weight:800;
}

.shop_total strong{
	font-size:34px;
	color:#00a651;
}

.shop_btns{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.shop_btn{
	height:58px;
	border-radius:10px;
	font-size:18px;
	font-weight:800;
	cursor:pointer;
}

.shop_cart_btn{
	background:#fff;
	border:1px solid #00a651;
	color:#00a651;
}

.shop_buy_btn{
	background:#00a651;
	border:1px solid #00a651;
	color:#fff;
}

/* 탭메뉴 */

.shop_view_tab_wrap{
	position:sticky;
	top:0;
	z-index:50;
	background:#fff;
	margin-top:70px;
	border-bottom:1px solid #ddd;
	padding:10px 0;
}

.shop_view_tab_inner{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:8px;
	max-width:1320px;
	margin:0 auto;
}

.shop_view_tab{
	height:48px;
	border:0;
	border-radius:8px;
	background:#eee;
	color:#111;
	font-size:16px;
	font-weight:800;
	cursor:pointer;
	transition:all .25s ease;
}

.shop_view_tab.active{
	background:#00a651;
	color:#fff;
}

.shop_view_section{
	scroll-margin-top:86px;
	max-width:1320px;
	margin:0 auto;
	padding:70px 0 90px;
	border-bottom:1px solid #eee;
	min-height:520px;
}

.shop_view_section h2{
	font-size:28px;
	font-weight:900;
	margin:0 0 25px;
}

/* 섹션 타이틀 + 글쓰기 버튼 */

.shop_section_title_row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:0 0 25px;
}

.shop_section_title_row h2{
	margin:0;
}

.shop_write_btn{
	height:38px;
	padding:0 16px;
	border:1px solid #00a651;
	background:#fff;
	color:#00a651;
	border-radius:8px;
	font-size:14px;
	font-weight:800;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:6px;
	transition:all .2s ease;
}

.shop_write_btn:hover{
	background:#00a651;
	color:#fff;
}

.shop_write_icon{
	font-size:15px;
	line-height:1;
}

.shop_write_text{
	display:inline-block;
}

/* 상세정보 */

.shop_detail_banner{
	background:#f5f8f6;
	border-radius:24px;
	padding:50px;
	text-align:center;
}

.shop_detail_banner h3{
	font-size:34px;
	margin:0 0 12px;
}

.shop_detail_banner p{
	font-size:17px;
	color:#666;
	line-height:1.7;
}

.shop_detail_img{
	width:100%;
	margin-top:30px;
	border-radius:20px;
	display:block;
}

/* 배송안내 */

.shop_info_box{
	border:1px solid #e5e5e5;
	border-radius:16px;
	padding:28px;
	margin-bottom:18px;
	background:#fff;
}

.shop_info_box h3{
	font-size:20px;
	margin:0 0 14px;
}

.shop_info_box p{
	margin:8px 0;
	color:#555;
	line-height:1.7;
}

.shop_empty_box{
	border:1px dashed #ccc;
	border-radius:16px;
	padding:70px 20px;
	text-align:center;
	color:#777;
	background:#fafafa;
}

/* 문의 리스트 */

.shop_qna_item{
	border:1px solid #e5e5e5;
	border-radius:14px;
	padding:18px 20px;
	margin-bottom:12px;
	background:#fff;
}

.shop_qna_top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:8px;
}

.shop_qna_type{
	display:inline-block;
	padding:4px 9px;
	background:#f0f8f4;
	color:#00a651;
	border-radius:20px;
	font-size:12px;
	font-weight:800;
}

.shop_qna_subject{
	font-size:16px;
	font-weight:900;
	color:#222;
	margin:8px 0;
}

.shop_qna_content{
	font-size:14px;
	color:#555;
	line-height:1.7;
	white-space:pre-line;
}

.shop_qna_date{
	font-size:12px;
	color:#999;
	white-space:nowrap;
}

.shop_qna_secret_mark{
	font-size:12px;
	color:#777;
	margin-left:5px;
}

.shop_qna_answer{
	margin-top:14px;
	padding:15px;
	background:#f7f7f7;
	border-radius:10px;
}

.shop_qna_answer strong{
	display:block;
	color:#00a651;
	margin-bottom:6px;
}

.shop_qna_answer p{
	margin:0;
	font-size:14px;
	line-height:1.6;
	color:#555;
}

/* 리뷰 */

.shop_review_item{
	border:1px solid #e5e5e5;
	border-radius:16px;
	padding:24px;
	margin-bottom:14px;
}

.shop_review_item strong{
	color:#00a651;
	font-size:18px;
}

.shop_review_item p{
	font-size:16px;
	margin:10px 0;
}

.shop_review_item span{
	font-size:13px;
	color:#888;
}

/* 문의 팝업 레이어 */

.shop_layer_bg{
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.55);
	z-index:2000;
}

.shop_qna_layer{
	display:none;
	position:fixed;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:520px;
	max-width:calc(100% - 28px);
	background:#fff;
	border-radius:18px;
	z-index:2001;
	overflow:hidden;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.shop_qna_layer_head{
	height:60px;
	padding:0 22px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid #eee;
}

.shop_qna_layer_head strong{
	font-size:19px;
	font-weight:900;
}

.shop_qna_layer_head button{
	width:34px;
	height:34px;
	border:0;
	background:#f2f2f2;
	border-radius:50%;
	font-size:22px;
	cursor:pointer;
}

.shop_qna_layer_body{
	padding:22px;
}

.shop_qna_label{
	display:block;
	font-size:14px;
	font-weight:800;
	margin:0 0 8px;
}

.shop_qna_input{
	width:100%;
	height:44px;
	border:1px solid #ddd;
	border-radius:8px;
	padding:0 12px;
	font-size:14px;
	margin-bottom:16px;
	box-sizing:border-box;
}

.shop_qna_textarea{
	width:100%;
	height:170px;
	border:1px solid #ddd;
	border-radius:8px;
	padding:12px;
	font-size:14px;
	line-height:1.6;
	resize:none;
	box-sizing:border-box;
	margin-bottom:14px;
}

.shop_qna_secret{
	display:flex;
	align-items:center;
	gap:6px;
	font-size:14px;
	color:#555;
	margin-bottom:20px;
}

.shop_qna_btns{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
}

.shop_qna_btns button{
	height:46px;
	border-radius:8px;
	font-size:15px;
	font-weight:800;
	cursor:pointer;
}

.shop_qna_cancel{
	border:1px solid #ddd;
	background:#fff;
	color:#333;
}

.shop_qna_submit{
	border:1px solid #00a651;
	background:#00a651;
	color:#fff;
}

.shop_review_layer{
	display:none;
	position:fixed;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:560px;
	max-width:calc(100% - 28px);
	max-height:90vh;
	background:#fff;
	border-radius:18px;
	z-index:2001;
	overflow:hidden;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.shop_review_layer_head{
	height:60px;
	padding:0 22px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid #eee;
}

.shop_review_layer_head strong{
	font-size:19px;
	font-weight:900;
}

.shop_review_layer_head button{
	width:34px;
	height:34px;
	border:0;
	background:#f2f2f2;
	border-radius:50%;
	font-size:22px;
	cursor:pointer;
}

.shop_review_layer_body{
	padding:22px;
	max-height:calc(90vh - 60px);
	overflow-y:auto;
	box-sizing:border-box;
}

.shop_review_label{
	display:block;
	font-size:14px;
	font-weight:800;
	margin:0 0 8px;
}

.shop_review_star_box{
	display:flex;
	align-items:center;
	gap:3px;
	margin-bottom:18px;
}

.shop_review_star{
	border:0;
	background:none;
	color:#ccc;
	font-size:30px;
	line-height:1;
	cursor:pointer;
	padding:0 1px;
}

.shop_review_star.active{
	color:#00a651;
}

#shop_review_score_text{
	margin-left:8px;
	font-size:14px;
	font-weight:800;
	color:#00a651;
}

.shop_review_input{
	width:100%;
	height:44px;
	border:1px solid #ddd;
	border-radius:8px;
	padding:0 12px;
	font-size:14px;
	margin-bottom:16px;
	box-sizing:border-box;
}

.shop_review_textarea{
	width:100%;
	height:170px;
	border:1px solid #ddd;
	border-radius:8px;
	padding:12px;
	font-size:14px;
	line-height:1.6;
	resize:none;
	box-sizing:border-box;
	margin-bottom:14px;
}

.shop_review_photo_test{
	margin-bottom:18px;
}

.shop_review_file{
	width:100%;
	border:1px solid #ddd;
	border-radius:8px;
	padding:10px;
	box-sizing:border-box;
}

.shop_review_photo_test p{
	margin:8px 0 0;
	font-size:12px;
	color:#888;
}

.shop_review_btns{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
}

.shop_review_btns button{
	height:46px;
	border-radius:8px;
	font-size:15px;
	font-weight:800;
	cursor:pointer;
}

.shop_review_cancel{
	border:1px solid #ddd;
	background:#fff;
	color:#333;
}

.shop_review_submit{
	border:1px solid #00a651;
	background:#00a651;
	color:#fff;
}

.shop_review_thumb_area{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:8px;
	margin-top:10px;
}

.shop_review_thumb_item{
	position:relative;
	aspect-ratio:1/1;
	border:1px solid #ddd;
	border-radius:8px;
	overflow:hidden;
	background:#f7f7f7;
}

.shop_review_thumb_item img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.shop_review_thumb_del{
	position:absolute;
	right:4px;
	top:4px;
	width:22px;
	height:22px;
	border:0;
	border-radius:50%;
	background:rgba(0,0,0,.65);
	color:#fff;
	font-size:14px;
	line-height:22px;
	cursor:pointer;
	padding:0;
}

.shop_review_file_row{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:8px;
}

.shop_review_file_btn{
	height:38px;
	padding:0 14px;
	border:1px solid #00a651;
	background:#00a651;
	color:#fff;
	border-radius:8px;
	font-size:14px;
	font-weight:800;
	display:inline-flex;
	align-items:center;
	cursor:pointer;
	white-space:nowrap;
}

.shop_review_file_text{
	font-size:13px;
	color:#555;
}

.shop_review_file_real{
	display:none;
}


.editor_contents {
	margin:0 auto;
	width:100%;
	max-width:1160px;
	padding:17px;
}

/* 모바일 */

@media(max-width:768px){
	.shop_view_wrap{
		margin:20px 14px;
	}

	.shop_view_top{
		grid-template-columns:1fr;
		gap:25px;
	}

	.shop_view_info h1{
		font-size:24px;
	}

	.shop_view_price{
		font-size:28px;
	}

	.shop_selected_item{
		grid-template-columns:1fr 92px 1fr 30px;
		gap:8px;
		align-items:center;
	}

	.shop_selected_item > div:first-child{
		grid-column:1 / -1;
	}

	.shop_qty{
		width:92px;
	}

	.shop_qty button{
		width:28px;
	}

	.shop_qty input{
		width:34px;
	}

	.shop_item_price{
		text-align:right;
		font-size:15px;
		font-weight:900;
		white-space:nowrap;
	}

	.shop_del_btn{
		width:28px;
		height:28px;
	}

	.shop_btns{
		grid-template-columns:1fr;
	}

	.shop_view_tab_wrap{
		margin-top:40px;
		top:0;
		padding:8px 10px;
	}

	.shop_view_tab_inner{
		gap:5px;
	}

	.shop_view_tab{
		height:42px;
		font-size:13px;
		border-radius:6px;
	}

	.shop_view_section{
		scroll-margin-top:72px;
		padding:45px 14px 70px;
		min-height:480px;
	}

	.shop_view_section h2{
		font-size:23px;
	}

	.shop_write_btn{
		width:38px;
		height:38px;
		padding:0;
		justify-content:center;
		border-radius:50%;
	}

	.shop_write_text{
		display:none;
	}

	.shop_write_icon{
		font-size:17px;
	}

	.shop_detail_banner{
		padding:30px 20px;
	}

	.shop_detail_banner h3{
		font-size:24px;
	}

	.shop_qna_top{
		align-items:flex-start;
	}

	.shop_qna_item{
		padding:16px;
	}

	.shop_qna_layer{
		width:calc(100% - 24px);
		border-radius:16px;
	}

	.shop_qna_layer_head{
		height:54px;
		padding:0 16px;
	}

	.shop_qna_layer_body{
		padding:18px 16px;
	}

	.shop_qna_textarea{
		height:150px;
	}
	.shop_review_layer{
		width:calc(100% - 24px);
		max-height:88vh;
		border-radius:16px;
	}

	.shop_review_layer_head{
		height:54px;
		padding:0 16px;
	}

	.shop_review_layer_body{
		padding:18px 16px;
		max-height:calc(88vh - 54px);
		overflow-y:auto;
	}

	.shop_review_star{
		font-size:28px;
	}

	.shop_review_textarea{
		height:130px;
	}

	.shop_review_thumb_area{
		grid-template-columns:repeat(4,1fr);
		gap:6px;
	}
}