/* w-shop-main 전용 */
a { color: #222; }
.containerbox { margin: 0 auto; padding: 0 20px; }

.shop-banner {
	width: 1919px;
	max-width: 100%;
	height: 360px;
	margin: 0 auto;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.vertical-menu {
	width: 1072px;
	height: 40px;
	display: flex;
	justify-content: center;
	overflow-x: auto;
	white-space: nowrap;
	margin: 40px 0;
	gap: 8px;
}
.vertical-menu::-webkit-scrollbar { display: none; }
.vertical-menu-item {
	display: flex;
	padding: 8px 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 100px;
	border: 1px solid #E0E0E0;
	font-size: 16px;
	font-weight: 600;
}
.vertical-menu-item:active,
.vertical-menu-item:hover {
	border: 1px solid #EF4044;
	color: #EF4044;
}

.shop-item {
	display: flex;
	flex-direction: column;
	text-align: start;
	cursor: pointer;
	margin-bottom: 20px;
	position: relative;
}
.shop-item img {
	width: 171px;
	height: 171px;
	border-radius: 8px;
	display: block;
}
.soldout-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	font-size: 20px;
	font-weight: bold;
	border-radius: 8px;
	z-index: 10;
}

.slider-wrapper {
	position: relative;
	overflow: visible;
	margin-bottom: 80px;
}
.slider-wrapper .swiper-wrapper {
	display: flex;
	gap: 3px;
	justify-content: flex-start;
}
.slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	z-index: 10;
	color: #222222;
}
.slider-arrow.disabled {
	color: #E0E0E0 !important;
	pointer-events: none;
	cursor: default;
}
.slider-arrow-prev { left: -60px; }
.slider-arrow-next { right: -60px; }

.item-desc {
	margin-top: 8px;
	font-size: 13px;
	color: #757575;
	line-height: 18px;
	white-space: pre-line;
	overflow-wrap: anywhere;
	word-break: break-word;
	--desc-lines: 3;
	max-height: calc(18px * var(--desc-lines));
	overflow: hidden;
}
.item-desc br { display: block; content: ""; margin-top: 2px; }

.price-original {
	text-decoration: line-through;
	color: #b0b0b0;
	font-size: 12px;
	margin-right: 6px;
}

@media (min-width: 768px) {
	.containerbox { max-width: 1072px; box-sizing: content-box; }
	.vertical-menu-item { font-size: 18px; }
	.shop-item img { width: 262px; height: 262px; }
}
