@charset "UTF-8";

.shop-main__banner-wrap,
.shop-main__open-wrap,
.shop-main__hit-wrap,
.shop-main__hot-wrap,
.shop-main__new-wrap,
.shop-main__free-wrap {
	margin-bottom: 120px
}

.shop-main__open-tit,
.shop-main__community-tit {
	margin-bottom: 20px
}

.shop-main__hit-top,
.shop-main__hot-top,
.shop-main__new-top,
.shop-main__free-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px
}

.shop-main__hit-top a,
.shop-main__hot-top a,
.shop-main__new-top a,
.shop-main__free-top a {
	word-break: keep-all;
}

.shop-main__banner-wrap {
	padding: 20px 0;
	box-sizing: border-box;
}

.shop-banner__item {
	position: relative;
	width: 1240px !important;
	height: 0;
	padding-bottom: 500px;
	border-radius: 16px;
	overflow: hidden;
}

.shop-banner__item img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.shop-main__banner-wrap .swiper-pagination {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
	z-index: 10
}

.shop-main__banner-wrap .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	border-radius: 10px;
	cursor: pointer;
	background-color: var(--color-gray-30)
}

.shop-main__banner-wrap .swiper-pagination-bullet-active {
	background-color: var(--color-primary-70)
}

.shop-main__skin10-grid {}

.shop-main__skin10-item a {
	display: block;
}

.shop-main__skin10-img {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 75%;
	border-radius: 8px;
	overflow: hidden;
	background-color: var(--color-gray-05)
}

.shop-main__skin10-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s
}

.shop-main__skin10-img img:hover {
	transform: translate(-50%, -50%) scale(1.1);
}

/* 모집마감 상품 그레이스케일 */
.shop-main__skin10-item.is-soldout .shop-main__skin10-img img {
	filter: grayscale(100%);
}

.shop-main__skin10-item.is-soldout .shop-main__skin10-img img:hover {
	filter: grayscale(50%);
}

.shop-main__skin10-state {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border-radius: 4px;
	user-select: none;
	margin-top: 12px;
}

.shop-main__skin10-state-on {
	color: var(--color-primary-70);
	box-shadow: inset 0 0 0 1px var(--color-primary-70);
	background-color: var(--color-gray-00);
}

.shop-main__skin10-state-off {
	color: var(--color-gray-60);
	background-color: var(--color-gray-05);
}

.shop-main__skin10-state-s {
	color: var(--color-primary-70);
	background-color: var(--color-primary-05);
}

.shop-main__skin10-tit {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	margin: 4px 0 12px
}

.shop-main__skin10-map,
.shop-main__skin10-name {
	position: relative;
	color: var(--color-gray-60);
	padding-left: 28px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	margin-bottom: 8px
}

.shop-main__skin10-map::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/ico_map.svg) no-repeat center;
}

.shop-main__skin10-name::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/ico_user.svg) no-repeat center;
}

.shop-main__skin10-none {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px
}


.shop-main__skin20-list {}

.shop-main__skin20-grid {
	display: grid;
	grid-template-columns: 2fr 3fr;
	gap: 20px;
	border-radius: 8px;
	padding: 20px;
	box-sizing: border-box;
	box-shadow: inset 0 0 0 1px var(--color-gray-10);
}

.shop-main__skin20-item a {
	display: block;
}

.shop-main__skin20-img {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	border-radius: 8px;
	overflow: hidden;
	background-color: var(--color-gray-05)
}

.shop-main__skin20-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover
}

.shop-main__skin20-cate {
	width: 100%;
	margin-bottom: 8px;
	color: var(--color-primary-70)
}

.shop-main__skin20-tit {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	margin-bottom: 12px
}

.shop-main__skin20-txt {
	position: relative;
	color: var(--color-gray-60);
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: 32px;
	height: 54px
}

.shop-main__skin20-item .shop-main__skin20-btn {
	width: 100%;
	display: inline-flex;
}

.shop-main__skin20-none {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px
}

.shop-main__skin30-grid {}

.shop-main__skin30-item a {
	display: block;
}

.shop-main__skin30-img {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 75%;
	border-radius: 8px;
	overflow: hidden;
	background-color: var(--color-gray-05)
}

.shop-main__skin30-img img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s
}

.shop-main__skin30-img img:hover {
	transform: translate(-50%, -50%) scale(1.1);
}

/* 모집마감 상태일 때 그레이스케일 적용 */
.shop-main__skin30-img--closed img {
	filter: grayscale(100%);
	opacity: 0.7;
}

.shop-main__skin30-img--closed img:hover {
	filter: grayscale(100%);
	opacity: 0.8;
	transform: translate(-50%, -50%) scale(1.05);
}

.shop-main__skin30-state {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border-radius: 4px;
	user-select: none;
	margin-top: 12px;
}

.shop-main__skin30-state-on {
	color: var(--color-primary-70);
	box-shadow: inset 0 0 0 1px var(--color-primary-70);
	background-color: var(--color-gray-00);
}

.shop-main__skin30-state-off {
	color: var(--color-gray-60);
	background-color: var(--color-gray-05);
}

.shop-main__skin30-state-s {
	color: var(--color-primary-70);
	background-color: var(--color-primary-05);
}

.shop-main__skin30-state .shop-list__item-state-end {
	color: var(--color-error);
	box-shadow: inset 0 0 0 1px var(--color-error);
	background-color: var(--color-gray-00);
}

.shop-main__skin30-tit {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	margin: 4px 0 12px
}

.shop-main__skin30-map,
.shop-main__skin30-name {
	position: relative;
	color: var(--color-gray-60);
	padding-left: 28px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	margin-bottom: 8px
}

.shop-main__skin30-map::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/ico_map.svg) no-repeat center;
}

.shop-main__skin30-name::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/ico_user.svg) no-repeat center;
}

.shop-main__skin30-none {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px
}







.shop-main__review-bg {
	padding: 80px 0;
	box-sizing: border-box;
	background-color: var(--color-primary-05);
	margin-bottom: 80px
}



.shop-main__review-grid {
	display: grid;
	grid-template-columns: 1fr 3fr;
	gap: 20px;
}

.shop-main__review-tit {
	margin-bottom: 8px
}

.shop-main__review-slide {
	width: 100%
}

.shop-main__review-item-r {
	display: block;
	padding: 20px 20px 40px 20px;
	box-sizing: border-box;
	border-radius: 8px;
	background-color: var(--color-gray-00);
	text-decoration: none;
	color: inherit;
}

.shop-main__review-item-r:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.shop-main__review-item-link {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	color: var(--color-primary-70);
	margin-bottom: 4px
}

.shop-main__review-item-tit {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: 12px
}

.shop-main__review-item-txt {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

.shop-main__review-item-empty {
	width: 100%;
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.shop-main__community-bg {
	padding: 80px 0;
	box-sizing: border-box;
	background-color: var(--color-gray-80);
	margin-bottom: 80px
}

.shop-main__community-tit {
	color: var(--color-gray-00);
	text-align: center;
}

.shop-main__community-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.shop-main__community-popular-tit {
	position: relative;
	padding: 0 0 20px 32px;
	margin-bottom: 8px;
	box-shadow: inset 0 -2px 0 -1px var(--color-gray-10)
}

.shop-main__community-popular-tit:before {
	content: '';
	position: absolute;
	top: calc(50% - 10px);
	left: 0;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/ico_popular.svg) no-repeat center left/24px;
}

.shop-main__community-ad {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 8px;
	padding: 40px;
	box-sizing: border-box;
	background: var(--color-primary-05) url(../img/img_main_info.png) no-repeat bottom 40px right 40px
}

.shop-main__community-ad a {
	display: block;
	height: 100%
}

.shop-main__community-ad-tit {
	margin-bottom: 4px
}

.shop-main__community-ad-p {
	color: var(--color-primary-70);

}

.shop-main__community-ad-subtit {
	margin-bottom: 40px
}

.main-popular__li {
	display: flex;
	gap: 12px;
	align-items: center;
}

.main-popular__li-txt {
	width: 100%;
	display: block;
}

.main-popular__li a {
	line-height: 48px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	word-break: break-all;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	transition: 0.3s
}

.main-popular__li a:hover {
	color: var(--color-primary-70);
}

.main-popular__li {
	display: flex;
	align-items: center;
	height: 48px;
}

.main-popular__li-num-top1 {
	color: var(--color-primary-70)
}

.main-popular__empty {
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.shop-main__community-popular {
	padding: 20px;
	box-sizing: border-box;
	background-color: var(--color-gray-00);
	border-radius: 8px
}


.shop-main__banner,
.shop-main__open,
.shop-main__hit,
.shop-main__review,
.shop-main__hot,
.shop-main__new,
.shop-main__community,
.shop-main__free {
	opacity: 0;
	transform: translateY(80px);
	transition: 1.5s ease
}

@media all and (max-width:1200px) {
	.shop-main__banner-wrap {
		padding: 0
	}

	.shop-banner__item {
		position: relative;
		width: 100% !important;
		height: 0;
		padding-bottom: 50%;
		border-radius: 0;
		overflow: hidden;
	}
}

@media all and (max-width:1024px) {
	.shop-main__skin10-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.shop-main__skin10-item {
		width: 295px !important;
	}

	.shop-main__skin20-grid {
		width: 560px !important;
	}

	.shop-main__review-item-r {
		width: 295px !important;
	}


	.shop-main__community-grid {
		grid-template-columns: repeat(1, 1fr);
	}

}

@media all and (max-width:768px) {
	.shop-main__banner-wrap .swiper-pagination {
		bottom: 24px;
	}

	.shop-main__skin10-grid {
		grid-template-columns: repeat(1, 1fr);
	}

	.shop-main__review-grid {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}

	.shop-main__skin20-grid {
		width: 400px !important;
	}

	.shop-main__review-item:first-child {
		grid-column: 1 / span 3;
		grid-row: 1 / span 1;
	}

	.shop-main__review-tit,
	.shop-main__review-txt {
		text-align: center;
	}

	/* 모바일에서도 모집종료 상태를 붉은색으로 표시 */
	.shop-main__skin30-state .shop-list__item-state-end {
		color: var(--color-error) !important;
		box-shadow: inset 0 0 0 1px var(--color-error) !important;
		background-color: var(--color-gray-00) !important;
	}
}

@media all and (max-width:500px) {
	.shop-main__review-grid {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}

	.shop-main__review-item:first-child {
		grid-column: auto;
		grid-row: auto;
	}

}

@media all and (max-width:400px) {}



@media all and (max-width:320px) {}