/* 변수 선언 */
:root {
	--zeromart-header-height : 166px;
}


button {
	color:#000;
}


.main-zero-wrap {
	div, p, a, button, input, textarea, select, ul, span {
		box-sizing: border-box;
		font-family: 'Cafe24Ohsquare', sans-serif;
	}
	.main-zero-swiper,
	.sale-list-wrap {
		.swiper{
			background: transparent;
			border:0;
		}
		.swiper-button-next:after, .swiper-button-prev:after{
			display: none;
		}
		.swiper-button-next, .swiper-button-prev{
			border:0;
			outline: none;
			aspect-ratio: 29 / 51;
			width: 11px;
			padding: 0;
			height: auto;
			margin:0;
			transform: translateY(-50%);
		}
		.swiper-button-prev{
			left:10px;
			background: url(/app/common/img/ssada/ic_swiper_prev.png) no-repeat center / cover;

		}
		.swiper-button-next{
			background: url(/app/common/img/ssada/ic_swiper_next.png) no-repeat center / cover;

		}
	}


	.radio-normal {
		position:relative;
		margin:0; 
		display:block;
		margin-right:12px;
		input {
			position:absolute;
			top:0; 
			left:0;
			opacity: 0;
		}
		.lbl {
			display:flex;
			gap:4px;
			align-items: center;
			color:#595959;
			&::before{
				content:'';
				display:inline-block;
				vertical-align: middle;
				width:15px;
				height:15px;
				margin-top:-1px;
				background: url(/app/order/img/check-normal.png) no-repeat;
				background-size: contain;
			}
		}
		input:checked + .lbl:before {
			background-image: url(/app/order/img/check-normal-on.png);
		}
	}
	
	.nomember-banner {
		position:fixed;
		width:100%;
		bottom:0;
		left:0;
		z-index: 100;
		transition: all 0.4s;
		&.hide-banner {
			bottom:-100px;
		}
	}
	
}

/* 로고 애니메이션 */
@keyframes logo-ani {
  0% {
    width:0;
	padding:0;
  }
  100% {
	padding:0 8px;
    width:90px;
  }
}

@keyframes logo-config {
  0% {
    opacity:0;
  }
  80% {
    opacity:0;
  }
  100% {
	opacity: 1;
  }
}


.main-zero-header .swiper-slide.swiper-slide-visible.swiper-slide-next.swiper-slide-prev {
	height: 100%;
}

.swiper .swiper-wrapper > .swiper-slide {
    padding: 0px !important;
}

.main-zero-header {
	background-color: #fff;
	/* height:var(--zeromart-header-height); */
	position:fixed;
	z-index: 100;
	width:100%;
	top: 0;
	transition: transform 0.6s ease-in-out;
	
	&.seller {
		position: fixed;
		left: 0;
		right: 0;
		z-index: 100;
		/* 상단 기본 배경 이미지는 제거 (Swiper 배너 이미지만 표시) */
		background-image: none;
		background-color: #fff;
		aspect-ratio: 7.06/4;
		min-height: 0;
		max-height: 600px;
		align-items: flex-start;
		border-radius: 0px 0px 10px 10px;
	}
	
	&.hide-header {
		transform: translateY(-100%);
	}
	
	.header-top {
		display:flex;
		width:100%;
		justify-content: space-between;
		padding:15px 10px 10px;
		.right-area {
			display:flex;
			flex-shrink:0;
			gap:15px;
		}
		.left-area {
			display:flex;
			flex-shrink:0;
			gap:20px;
		}
		.btn-hd {
			border:0;
			background-color: transparent;
			position:relative;
			padding:0;
			flex-shrink: 0;
			img {
				width:24px;
				height:auto;
			}

			em {
				display:inline-block;
				width: 18px;
				height: 18px;
				line-height: 18px;
				font-style: normal;
				background-color: #ff0001;
				color:#fff;
				text-align:center;
				font-weight:600;
				font-size:12px;
				border-radius: 50%;
				position:absolute;
				top:-3px; 
				right:-8px;
			}
			&.hd01 {
				img {
					left:1px;
				}
			}
		}
		.btn-hd.type-ani {
			min-width:0;
			
			display:inline-flex;
			align-items: flex-end;
			position:relative;
			>img {
				flex-shrink: 0;
				position:relative;
				z-index: 10;
			}
			.icon-config {
				animation: logo-config 1s;
				z-index:10;
				position:absolute;
				top:-2px;
				left:13px;
				display:inline-block;
				width:18px;
				height:18px;
				background: url(/app/zeromart/img/icon-config.png) no-repeat center/contain;
			}
			> span {
				overflow: hidden;
				height:22px;
				line-height:22px;
				font-size:13px;
				padding:0 8px;
				margin-left:-3px;
				display:inline-block;
				white-space: nowrap;
				border:1px solid #0D2432;
				border-radius:0 4px 4px 0;
				background-color: #F2F2F2;
				animation : logo-ani 1s;
			}
		}
	}
	.header-search.zero {
		padding:5px 10px 8px 10px;
		display:flex;
		align-items: center;
		gap: 8px;
		.search-box {
			flex:1;
			overflow:hidden;
			position:relative;
			border:1px solid #999;
			display:flex;
			align-items: center;
			border-radius:8px;
			height:34px;
			background: rgba(255,255,255,0.5);
			.search-input {
				flex:1;
				height:100%;
				width:100%;
				font-size:15px;
				padding:0 12px;
				color:#000;
				border:0;
				background: transparent;
			} 
			.search-input::placeholder {
				color:#999;
				font-size:14px;
			}

			.btn-search-main.zero {
				border:0;
				background:transparent;
				font-size:14px;
				color:#e84a90;
				padding-right:14px;
				background: url(/app/common/img/main/icon-zero-search-arr.png) no-repeat right 2px center/12px auto;
			}
			.btn-search-main.seller {
				border:0;
				background:transparent;
				font-size:14px;
				color:#e84a90;
				padding-right:14px;
				background: url(/app/common/img/main/icon-seller-search-arr.png) no-repeat right 2px center/12px auto;
			}
		}
		.btn-hamburger {
			flex-shrink: 0;
			width: 40px;
			height: 40px;
			padding: 0;
			border: 0;
			background: transparent;
			cursor: pointer;
			img {
				width: 26px;
				height: 26px;
				display: block;
			}
		}
	}
	.header-search.seller {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 101;
		padding:5px 10px 8px 10px;
		display:flex;
		align-items: center;
		gap: 8px;
		margin-top: 0;
		.search-box {
			flex:1;
			overflow:hidden;
			position:relative;
			border:1px solid #000;
			display:flex;
			align-items: center;
			border-radius:5px;
			height:34px;
			background: rgba(255,255,255,0.5);
			.search-input {
				flex:1;
				height:100%;
				width:100%;
				font-size:15px;
				padding:0 12px;
				color:#000;
				border:0;
				background: transparent;
			} 
			.search-input::placeholder {
				color:#999;
				font-size:14px;
			}

			.btn-search-main.zero {
				border:0;
				background:transparent;
				font-size:14px;
				color:#e84a90;
				padding-right:14px;
				background: url(/app/common/img/main/icon-zero-search-arr.png) no-repeat right 2px center/12px auto;
			}
			.btn-search-main.seller {
				border:0;
				background:transparent;
				font-size:14px;
				color:#e84a90;
				padding-right:14px;
				background: url(/app/common/img/main/icon-seller-search-arr.png) no-repeat right 2px center/12px auto;
			}
		}
		.btn-hamburger {
			flex-shrink: 0;
			padding: 0;
			border: 0;
			background: transparent;
			cursor: pointer;
			margin: 0px 5px;
			img {
				width: 26px;
				height: 26px;
				display: block;
			}
		}
	}
	
	.header-icon-menu {
		padding: 0px 10px 10px 10px;
		background: white;
		display: flex;
		justify-content: space-between;
		
		.icon-menu-btn {
			padding: 0;
			margin: 0;
			border: 0;
			background-color: transparent;
			width: 40px;
			height: 40px;
			flex-shrink: 0;
			
			img {
				width: 40px;
				height: 40px;
				border-radius: 12px;
				object-fit: cover;
			}
		}
	}

	.my-zeromart {
		position:relative;
		.icon-zero-pay {
			position:absolute;
			width:45px;
			top:8px;
			right:8px;
		}
	}

}

.main-zero-containner {
	padding-top:var(--zeromart-header-height);
}
.main-zero-header.seller + .main-zero-containner {
	padding-top: 0px;
}
/* 검색바 분리 layout: main-zero-header가 fixed이므로 검색바+배너 높이만큼 여백 */
.main-zero-wrap.main-market-fixed-header .main-zero-containner {
	padding-top: 215px;
}

/* main-zero-header 밖에 분리된 검색바: 항상 상단 고정 (스크롤 시 배너는 숨겨지고 검색바만 유지) */
.main-zero-wrap > .header-search.seller,
.main-zero-wrap > .header-search.header-search-fixed.seller {
	position: fixed;
	top: 5px;
	left: 0;
	right: 0;
	z-index: 101;
	padding: calc(env(safe-area-inset-top, 0) + 5px) 10px 8px 10px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 0;
}
.main-zero-wrap > .header-search.seller .search-box,
.main-zero-wrap > .header-search.header-search-fixed.seller .search-box {
	flex: 1;
	overflow: hidden;
	position: relative;
	border: 1px solid #000;
	display: flex;
	align-items: center;
	border-radius: 5px;
	height: 34px;
	background: rgba(255,255,255,0.5);
}
.main-zero-wrap > .header-search.seller .search-input,
.main-zero-wrap > .header-search.header-search-fixed.seller .search-input {
	flex: 1;
	height: 100%;
	width: 100%;
	font-size: 15px;
	padding: 0 12px;
	color: #000;
	border: 0;
	background: transparent;
}
.main-zero-wrap > .header-search.seller .search-input::placeholder,
.main-zero-wrap > .header-search.header-search-fixed.seller .search-input::placeholder {
	color: #999;
	font-size: 14px;
}
.main-zero-wrap > .header-search.seller .btn-search-main.seller,
.main-zero-wrap > .header-search.header-search-fixed.seller .btn-search-main.seller {
	border: 0;
	background: transparent;
	font-size: 14px;
	color: #e84a90;
	padding-right: 14px;
	background: url(/app/common/img/main/icon-seller-search-arr.png) no-repeat right 2px center/12px auto;
}
.main-zero-wrap > .header-search.seller .btn-hamburger,
.main-zero-wrap > .header-search.header-search-fixed.seller .btn-hamburger {
	flex-shrink: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	margin: 0 5px;
}
.main-zero-wrap > .header-search.seller .btn-hamburger img,
.main-zero-wrap > .header-search.header-search-fixed.seller .btn-hamburger img {
	width: 26px;
	height: 26px;
	display: block;
}

.sale-list-wrap {
	margin-top:20px;
	.swiper{
		padding: 0 10px;
		background-color: #fff;
		border-bottom:0;
		height: auto;
		width: 100%;
		.swiper-wrapper{
			.swiper-slide{
				height: auto;
				padding: 0;
				margin-left:0;
				border-radius:0;
				font-size: inherit;
			}
		}
		.swiper-slide {
			transition: opacity 0.5s ease-in-out;
			img {
				border-radius:8px;
			}
		}
	}
}

.event-list-wrap {
	.swiper{
		padding: 0 10px;
		background-color: #fff;
		border-bottom:0;
		height: auto;
		width: 100%;
		.swiper-wrapper{
			.swiper-slide{
				height: auto;
				padding: 0;
				margin-left:0;
				border-radius:0;
				font-size: inherit;
			}
		}
		.swiper-slide {
			img {
				border-radius: 12px;
			}
		}
	}
}

.pd-list-wrap {
	.swiper{
		padding: 0 10px;
		background-color: #fff;
		border-bottom:0;
		height: auto;
		width: 100%;
		.swiper-wrapper{
			.swiper-slide{
				height: auto;
				padding: 0;
				margin-left:0;
				border-radius:0;
				font-size: inherit;
			}
		}
	}

	.child-swiper {
		padding:0;
		text-align:center;
		height:19px;
		line-height:19px;
		font-size:10px;
		position:absolute;
		bottom:0;
		left:0;
		background:rgba(0, 0, 0, 0.4);
		color:#fff;
	}

	&.type1 {
		.btn-pd-cart {
			bottom:25px !important;
		}
	}
}

.partner-list-wrap {
	margin-bottom:50px;
	.swiper{
		padding: 0 10px;
		background-color: #fff;
		border-bottom:0;
		height: auto;
		width: 100%;
		.swiper-wrapper{
			.swiper-slide{
				height: auto;
				padding: 0;
				margin-left:0;
				border-radius:0;
				font-size: inherit;
			}
		}
	}

	.partner-item {
		> img {
			border-radius:6px;
			width:100%;
		}
		.txt {
			margin-top:10px;
			font-size:15px;
			color:#000;
			p + p {
				margin-top:8px;
			}
		}
	}
}

.main-zero-item {
	margin-top:20px;
	.tit-area {
		padding:10px;
		display:flex;
		justify-content:space-between;
		align-items:center;
		color:#000;
		
		.tit-left {
			flex:1;
			display:flex;
			align-items: center;
		}
		h4 {
			font-size:18px;
			font-weight:normal;
			padding:0;
			margin:0;
			margin-right:14px;
		}
		.btn-partner-name {
			display: inline-block;
			padding: 2px 10px;
			background-color: #3059cd;
			color: #fff;
			font-size: 14px;
			border-radius: 6px;
			border: none;
			margin-right: 10px;
			cursor: pointer;
			transition: all 0.2s;
			&:hover {
				background-color: #26479f;
			}
		}
		button.more {
			flex-shrink:0;
			margin:0;
			padding:0;
			display:flex;
			align-items: center;
			justify-content: flex-end;
			width:36px;
			height:20px;
			border:0;
			background:url(/app/common/img/main/tit-more.png) no-repeat top left/20px;
			&.type1 {
				background-image:url(/app/common/img/main/tit-product-more.png);
			}
			&.more-partner {
				background-image:url(/app/zeromart/img/partner-icon.png);
			}

			&:before {
				content:'';
				display:inline-block;
				width:12px;
				height:20px;
				flex-shrink: 0;
				background:url(/app/common/img/main/tit-arr.png) no-repeat center right/12px auto;
			}
		}
		.txt {
			font-size:13px;
			letter-spacing:-0.03em;
		}
	}
}


/* 상품목록 상품명 슬라이드 애니메이션 */
@keyframes pname-slide {
  0% {
    transform:translateX(0%);
  }
  10% {
    transform:translateX(0%);
  }
  50% {
    transform:translateX(calc(-100% + 41vw));
  }
  60% {
    transform:translateX(calc(-100% + 41vw));
  }
  100% {
    transform:translateX(0%);
  }
}

.main-zero-item {
	.pd-item {
		.pd-img {
			position:relative;
			border-radius:6px;
			overflow:hidden;
			img {
				border-radius:6px;
			}
			
			.icon-hotdeal {
				position:absolute;
				display:inline-block;
				top:0;
				right:0;
				width:55px;
				height:55px;
				background: url(/app/common/img/main/img-mustpick-deal.gif) no-repeat center/contain;

			}

			.icon-rank {
				position:absolute;
				display:inline-flex;
				align-items:flex-start;
				justify-content:flex-end;
				top:0;
				right:0;
				width:55px;
				height:55px;
				background: url(/app/common/img/main/img-rank-blank.png) no-repeat center/contain;
			}

			.icon-rank .rank-num {
				display:block;
				font-weight:bold;
				font-size:18px;
				line-height:1;
				color:#fff;
				background:none;
				border-radius:0;
				margin-right: 6px;
                margin-top: 6px;
			}

			.rank {
				position:absolute;
				display:inline-block;
				top:5px;
				left:5px;
				width:30px;
				height:30px;
				text-align:center;
				font-weight:bold;
				line-height:30px;
				border-radius: 50%;
				background-color: #F6C142;
				font-size:15px;
				color:#fff;
			}

			.btn-pd-cart {
				position:absolute;
				border:0;
				z-index:10;
				width:24px;
				height:24px;
				right:5px;
				bottom:5px;
				background: url(/app/common/img/main/btn-pd-cart.png) no-repeat center/contain;
			}
		
		}

		.item-info {
			margin-top:10px;
			overflow:hidden;
			.title {
				font-size:15px;
				white-space:nowrap;
				width:max-content;
				color:#000;
				&.slide {
					animation: pname-slide 6s infinite;
				}
			}
			.date {
				margin-top:4px;
				font-size:13px;
				color:#315f95;
			}
			.price-box {
				display:flex;
				align-items: flex-start;
				margin-top:8px;
				.discount {
					flex-shrink:0;
					padding-top:4px;
					width:40px;
					height:35px;
					color:#fff;
					text-align:center;
					font-size:15px;
					background:url(/app/order/img/bg-discount.png) no-repeat top left/100% auto;
				}
				.price {
					flex:1;
					padding-left:5px;
					.p1 {
						font-size:11px;
						color:#666;
						text-decoration:line-through;
					}
					.p2 {
						margin:2px 0;
						color:red;
						font-size:15px;
						font-weight:bold;
					}
					.opt {
						font-size:10px;
						color:#315f95;
						letter-spacing:-0.04em;
					}
				}
				.img-opt {
					flex-shrink:0;
					height:19px;
					width:auto;
					margin-top:8px;
				}
				.img-opt2 {
					flex-shrink:0;
					height:19px;
					width:auto;
					margin-top:8px;
				}
			}
		}
	}
}

.zero-footer {
	position:relative;
	.zero-footer-map-wrap {
		position:relative;
		display:block;
		.zero-footer-icon-overlay {
			position:absolute;
			right:0;
			top:50px;
			transform:translateY(-50%);
			height:auto;
			max-width:20%;
			pointer-events:none;
		}
	}
	.foot-top {
		position:absolute;
		padding:10px;
		top:0;
		left:0;
		display:flex;
		width:100%;
		gap:10px;
		.logo {
			flex:1;
			text-align: right;
			img {
				max-width:150px;
				opacity: 0.4;
			}
		}
		dl {
			flex:1;
			dt {
				font-size:14px;
				color:#6c589d;
				font-weight: bold;
			}
			dd {
				margin-top:5px;
				color:#666;
				font-size:11px;
				letter-spacing: -0.03em;
				.icon-info {
					width:12px;
					height:12px;
					vertical-align: middle;
				}
			}
		}
	}
	button {
		position:absolute;
		z-index: 2;
		border:0;
		background-color: transparent;
		&.btn1 {
			width:25.9%;
			height:23.9%;
			left:2%;
			bottom:12%;
		}
		&.btn2 {
			width:25.9%;
			height:23.9%;
			left:29%;
			bottom:12%;
		} 
		&.btn3 {
			width: 17%;
            height: 11%;
            left: 56%;
            bottom: 25%;
		}
		&.btn4 {
			width: 23%;
            height: 11%;
            left: 75%;
            bottom: 25%;
		}
		&.btn5 {
			width: 17%;
            height: 11%;
            left: 56%;
            bottom: 12%;
		}
		&.btn6 {
			width: 23%;
            height: 11%;
            left: 75%;
            bottom: 12%;
		}
	}
}


.zero-vertical-scroll {
	overflow: auto;
	-ms-overflow-style: none;  /* IE, Edge */
}
.zero-vertical-scroll::-webkit-scrollbar {
  display: none;             
}

.zero-horizontal-scroll {
	overflow: auto;
	-ms-overflow-style: none;  /* IE, Edge */
}
.zero-horizontal-scroll::-webkit-scrollbar {
  display: none;             
}



.event-list-scroll {
	padding:0 10px;
	display:flex;
	width:max-content;
	gap:10px;
	& > li {
		position:relative;
		/*width:218px;*/
		width:58vw;
		img {
			border-radius: 12px;
		}
		.tit-event {
			position:absolute;
			font-weight:normal;
			top:0;
			left:50%;
			height:24px;
			line-height:24px;
			padding:0 15px;
			font-size:14px;
			border-radius: 0 0 10px 10px;
			background-color: #fff;
			transform:translateX(-50%);
		}
	}
}

.pd-list-scroll {
	padding:0 10px;
	display:flex;
	width:max-content;
	gap:10px;
	& > li {
		/*width:156px;*/
		width:41vw;
	}

	.child-swiper {
		width:100%;
		padding:0;
		text-align:center;
		height:19px;
		line-height:19px;
		font-size:10px;
		position:absolute;
		bottom:0;
		left:0;
		background:rgba(0, 0, 0, 0.4);
		color:#fff;
		.swiper-slide {
			font-size:inherit;
			padding:0;
			margin:0;
		}
	}

	&.type1 {
		.btn-pd-cart {
			bottom:25px !important;
		}
	}
}

.partner-list-scroll {
	padding:0 10px;
	display:flex;
	width:max-content;
	gap:10px;
	& > li {
		/* width:192px; */
		width:51vw;
	}
	.partner-item {
		> img {
			border-radius:6px;
			width:100%;
		}
		.txt {
			margin-top:10px;
			font-size:15px;
			color:#000;
			p + p {
				margin-top:8px;
			}
		}
	}
}

.news-box-wrap.swiper {
	height:38px;
	background-color: transparent;
	.swiper-wrapper > .swiper-slide {
		height:auto;
		padding:0;
		margin:0;
	}
}

.zero-news-item {
	height:38px;
	padding:0 6px 0 45px;
	display:flex;
	justify-content: space-between;
	color:#fff !important;
	font-size:16px;
	display:flex;
	width:100%;
	align-items: center;
	background:#4BAFEA url(/app/common/img/main/icon-news.gif) no-repeat center left 10px/28px auto;
	> span {
		flex:1;
		display:inline-block;
		padding-top:1px;
	}
	&::after {
		content:'';
		flex-shrink: 0;
		width:12px; 
		height:100%;
		background:url(/app/common/img/main/icon-news-arr.png) no-repeat center right/12px auto;
	}
}

.is-ios {
	.zero-news-item {
		> span {
			padding-top:3px;
		}
	}
}


@media (max-width: 340px) {
  .main-zero-wrap {
	.foot-top {
		dl {
			dd {
				margin-top:1px;
			}
		}
	}
  }
}

/* 체크박스 */
.checkbox-zero {
	display:inline-block;
	position:relative;
	input {
		position: absolute;
		opacity:0;
		left:0;
		top:0;
	}
	.lbl {
		position:relative;
		gap:4px;
		align-items: center;
		font-size:14px;
		color:#777;
		display:inline-flex;
		&::before {
			content:'';
			display:inline-block;
			width:14px;
			height:14px;
			border-radius: 3px;
			border:1px solid #888;
			box-sizing: border-box;
		}
	}
	input:checked + .lbl {
		&::before {
			background-color: #BEE3A8;
		}
		&::after {
			content: "";
			position: absolute;
			left: 5px;
			top: 1px;
			width: 3px;
            height: 7px;
			border: solid #000;
			border-width: 0 1px 1px 0;
			transform: rotate(45deg);
		}
	}
}

/* 나의 제로마트 */
.my-head-search {
	background-color: #fff;
	.search-area {
		padding:10px 12px;
		display:flex;
		gap:12px;
		align-items:center;
		.ip-search {
			width:100%;
			flex:1;
			border:1px solid #A6A6A6;
			border-radius:4px;
			height:24px;
			font-size:14px;
			padding:0 10px;
			color:#000;
		}
		.ip-search::placeholder {
			color:#A6A6A6;
		}
		.checkboxes {
			flex-shrink: 0;
			display:flex;
			gap:10px;
			margin-top:2px;
			align-items: center;
		}
	}

	.my-zero-tab {
		display:flex;
		justify-content: space-between;
		width:100%;
		padding:0 12px 10px;
		& > li {
			flex-shrink: 0;
			button {
				margin:0;
				padding:0;
				border:0;
				background-color: transparent;
				font-size:15px;
				color:#7F7F7F;
				display:inline-flex;
				gap:4px;
				align-items: flex-end;
				&:before {
					content:'';
					display:inline-block;
					width:24px;
					height:24px;
				}
				&.on {
					color:#000;
				}
			}
			&.t01 {
				button:before {
					background: url(/app/zeromart/img/my-tab-01.png) no-repeat center/contain;
				}
				button.on:before {
					background-image: url(/app/zeromart/img/my-tab-01-on.png);
				}
			}
			&.t02 {
				button:before {
					background: url(/app/zeromart/img/my-tab-02.png) no-repeat center/contain;
				}
				button.on:before {
					background-image: url(/app/zeromart/img/my-tab-02-on.png);
				}
			}
			&.t03 {
				button:before {
					background: url(/app/zeromart/img/my-tab-03.png) no-repeat center/contain;
				}
				button.on:before {
					background-image: url(/app/zeromart/img/my-tab-03-on.png);
				}
			}
			&.t04 {
				button{
					position:relative;
					i {
						display:none;
						width:14px;
						height:14px;
						background-color: red;
						color:#fff;
						font-style: normal;
						font-size:10px;
						line-height:14px;
						text-align:center;
						border-radius: 50%;
						position:absolute;
						top:-2px;
						left:-2px;
					}
				}
				button:before {
					background: url(/app/zeromart/img/my-tab-04.png) no-repeat center/contain;
				}
				button.on {
					i {
						display:inline-block;
					}
				}
				button.on:before {
					background-image: url(/app/zeromart/img/my-tab-04-on.png);
				}
			}
		}
	}
}

.zeromart-product-list {
	margin-bottom:30px;
	.banner-item {
		padding:5px 12px;
		img {
			border-radius: 5px;
		}
	}
}

.zeromart-product-item {
	position:relative;
	& + .zeromart-product-item {
		border-top:1px solid #d9d9d9;
	}

	.btn-add-favorite {
		position:absolute;
		border:0;
		top:8px;
		right:14px;
		padding:0;
		margin:0;
		z-index: 4;
		width:24px;
		height:21px;
		background: url(/app/zeromart/img/add-favorite.png) no-repeat top left/contain;
		&:disabled,
		&.type2 {
			background-image: url(/app/zeromart/img/add-favorite2.png);
		}
	}
}

@keyframes info-pname-slide {
  0% {
    transform:translateX(0%);
  }
  10% {
    transform:translateX(0%);
  }
  50% {
    transform:translateX(calc(-100% + 100vw - 130px ));
  }
  60% {
    transform:translateX(calc(-100% + 100vw - 130px ));
  }
  100% {
    transform:translateX(0%);
  }
}
.zeromart-product-info {
	display:flex;
	padding:10px 12px;
	gap:10px;

	dt {
		width:90px; 
		height:90px;
		overflow:hidden;
		border: 1px solid #dadada;
		border-radius: 8px;
		flex-shrink: 0;
		position:relative;

		.icon-rank {
			position:absolute;
			top:0;
			right:0;
			width:40px;
			height:40px;
			display:inline-flex;
			align-items:flex-start;
			justify-content:flex-end;
			background: url(/app/common/img/main/img-rank-blank.png) no-repeat center/contain;
		}
		.icon-rank .rank-num {
			display:block;
			font-weight:bold;
			font-size:14px;
			line-height:1;
			color:#fff;
			background:none;
			border-radius:0;
			margin-right: 4px;
			margin-top: 4px;
		}
	}
	dd {
		overflow:hidden;
		min-width:88px;
		display:flex;
		flex-direction: column;
		justify-content: space-between;
		position:relative;
		flex:1;
		font-size:14px;
		color:#000;
		line-height:1.4;

		.recent-wrap {
			margin-bottom:4px;
			display:flex;
			font-size:12px;
			color:#000;
			justify-content: space-between;
			line-height:23px;
			height:21px;
			overflow: hidden;
			padding:0 6px;
			border-radius: 4px;
			background-color:#D9D9D9;
			align-items: center;
			em {
				font-size:10px;
				font-style: normal;
				color:#000;
			}
			.state {
				display:inline-flex;
				align-items: center;
				gap:3px;
				&.type-red {
					color:red;
				}
				&.type-green {
					color:green;
				}
				&.type-blue {
					color:#3B679B;
				}
			}
		}

		.favorite-wrap {
			margin-bottom:4px;
			display:flex;
			flex-wrap: wrap;
			font-size:12px;
			color:#000;
			gap:3px;
			height:21px;
			overflow: hidden;
			line-height:23px;
			padding:0 6px;
			border-radius: 4px;
			background-color:#F3E2F3;
			align-items: center;
			em {
				font-size:10px;
				font-style: normal;
			}
			.fc-red {
				color:red;
			}
		}

		.tit {
			font-size:13px;
			padding-right:25px;
			.icon-delivery {
				height:12px;
				width:auto;
				vertical-align: middle;
			}
		}
		.pname {
			font-size:16px;
			margin:5px 0;
			text-wrap: nowrap;
			width:max-content;
			&.slide {
				animation:info-pname-slide 8s infinite;
			}
		}
		.msg {
			font-size:12px;
			letter-spacing: -0.05em;
			color:#1746C7;
		}
		.msg.type2 {
			color:#4FAB4E;
		}

		.btn-del {
			position:absolute;
			border:0;
			top:0;
			right:0;
			z-index: 4;
			width:18px;
			height:18px;
			background: url(/app/zeromart/img/btn-del.png) no-repeat center/contain;
		}

		.price {
			margin-top:3px;
			display:flex;
			justify-content: space-between;
			&>div {
				display:inline-flex;
				align-items: center;
				flex-shrink: 0;
				gap:4px;
				&>strong {
					width:33px;
					height:33px;
					flex-shrink: 0;
					display:inline-block;
					border-radius:4px;
					color:#fff;
					text-align: center;
					line-height:35px;
					font-size:14px;
					margin-top:-3px;
				}
				&>div {
					display:flex;
					flex-direction: column;
					span {
						font-size:12px;
						line-height:1;
						color:#777;
					}
					em {
						font-style:normal;
						font-weight: 700;
						margin-top:1px;
						font-size: 15px;
					}
				}
			}
			.discount {
				& > strong {
					background-color: red;
				}
				&>div{
					span {
						text-decoration: line-through;
					}
				}
				em {
					color:red;
				}
			}
			.coupon {
				min-width:120px;
				& > strong {
					background-color: #5E95D3;
				}
				em {
					color:#3B679B;
				}
			}
		}
	}
}

.fc-delivery1 {
	color:#1746C7 !important;
}
.fc-delivery2 {
	color:#4FAB4E !important;
}
.zeromart-product-detail {
	height:0;
	overflow:hidden;
	padding:0 12px;
	transition: height 0.5s;
	.product-detail-btns {
		margin-top:10px;
		margin-bottom:10px;
	}

	.delivery-msg {
		margin-bottom:10px;
		color:#000;
		font-size:13px;
		height:22px; 
		overflow:hidden;
		line-height:24px;
		text-align:center;
		border-radius:3px;
		background:#F2F2F2 url(/app/zeromart/img/icon-noti.png) no-repeat left 10px center/18px auto;
	}

	.delivery-info {
		border:1px solid #7F7F7F;
		border-radius:5px;
		position:relative;
		.tit {
			display:block;
			width:120px;
			height:22px;
			margin:0 auto 0;
			color:#fff;
			font-size:14px;
			line-height:22px;
			font-weight:normal;
			text-align:center;
			border-radius:0 0 10px 10px;
			background-color:#7F7F7F;
		}

		ul {
			padding:3px 8px 8px;
			li {
				margin-top:3px;
				display:flex;
				font-size:13px;
				line-height:1.2;
				b {
					font-weight:normal;
					color:#777;
					flex-shrink: 0;
					min-width:90px;
				}
				> div {
					flex:1;
					color:#000;
				}
			}
		}
	}

	.order-history {
		margin-top:10px;
		border:1px solid #F6C142;
		border-radius:5px;
		position:relative;
		&.type2 {
			ul {
				li {
					font-size:15px;
					.zero-badge {
						font-size:12px;
						height:20px;
						line-height:20px;
					}
				}
			}
		}
		.tit {
			display:block;
			width:120px;
			height:22px;
			margin:0 auto 0;
			color:#fff;
			font-size:14px;
			line-height:22px;
			font-weight:normal;
			text-align:center;
			border-radius:0 0 10px 10px;
			background-color:#F6C142;
		}

		ul {
			padding:8px;
			li {
				color:#000;
				margin-top:5px;
				display:flex;
				align-items: center;
				font-size: 13px;
				line-height:14px;
				line-height:1.2;
                letter-spacing: -0.04em;
				justify-content: space-between;
				> div {
					flex:1;
					gap:5px;
					display:flex;
					align-items: center;
					.od-date {
						color:#777;
						margin-right:1px;
					}
					.nodata {
						flex:1;
						text-align:center;
					}
					.price {
						color:red;
					}
					.quantity {
						padding:0 5px;
						line-height:14px;
						border-left:1px solid #777;
						border-right:1px solid #777;
					}
				}
				.zero-badge {
					flex-shrink: 0;
					font-weight:normal;
					font-size:11px;
					display:inline-block;
					width:45px;
					height:14px;
					line-height:15px;
					text-align:center;
					color:#fff;
					background-color: #5E95D3;
					border-radius: 3px;
					&.type-black {
						background-color: #000;
					}
					&.type-green {
						background-color: #4C7A31;
					}
					&.type-red {
						background-color: red;
					}
				}
			}
		}
	}

	.zero-order {
		margin-top:10px;
		.pd-list-select {
			.row {
				padding:5px 0;
				font-size:15px;
				display:flex;
				align-items: flex-start;
				& > div {
					flex:1;
					gap:8px;
					display:flex;
					align-items: flex-start;
				}
				& > span {
					flex-shrink:0;
				}
			}
		}

		.badge-dc {
			flex-shrink: 0;
			display:inline-flex;
			justify-content: center;
			align-items: center;
			width:60px;
			height:17px;
			text-align:center;
			border-radius: 10px;
			color:#fff;
			font-size:13px;
			line-height:17px;
			font-style:normal;
			background-color: red;
			b {
				display: inline-block;
                line-height: 13px;
                vertical-align: middle;
                padding-top: 4px;
			}
		}
		
		.opt-box {
			margin-top:4px;
			padding:5px;
			color:#000;
			font-size:13px;
			text-align: center;
			background-color: #D9D9D9;
			border-radius: 4px;
			letter-spacing: -0.04em;
		}

		.dc-box {
			margin-top:10px;
			font-size:15px;
			display:flex;
			align-items: center;
			justify-content: space-between;
			> div {
				flex:1;
				display:flex;
				align-items: center;
				gap:8px;
				> img {
					width:26px;
					flex-shrink: 0;
				}
			}
			.btn-add-coupon {
				border:0;
				margin:0;
				padding:0;
				background-color: transparent;
				width:78px;
				flex-shrink: 0;
			}
		}

		.counter {
			/* border-top:1px dotted #ccc; */
			margin-top:10px; 
			padding-top:10px;
			font-size:15px;
			display:flex;
			align-items: center;
			gap:10px;
			justify-content: flex-end;
		}

		.btns {
			margin:15px 0 20px;
			display:flex;
			gap:10px;
			button {
				border:0;
				margin:0;
				padding:0;
				background-color: transparent;
			}
			
			.btn-cart {
				flex: 1;
			}
		}
	
	}
}

.icon-delivery{
	margin-left: 5px;
}

.spinner-wrap {
	display:inline-flex;
	align-items: flex-start;
	width:100px;
	input {
		flex:1;
		height:24px;
		width:100%;
		text-align:center;
		border:1px solid #efefef;
		border-left:0;
		border-right:0;
		color:#000;
	}
	button {
		width:24px;
		height:24px;
		flex-shrink: 0;
		border:0;
	}
	button.btn-m {
		background: url(/app/common/img/section/count_down.jpg) no-repeat center/contain;
	}
	button.btn-p {
		background: url(/app/common/img/section/count_up.jpg) no-repeat center/contain;
	}
}

.radio-red {
	position:relative;
	input {
		position:absolute;
		top:0;
		left:0;
		opacity:0;
	}
	.lbl {
		display:inline-flex;
		color:#333;
		font-size:15px;
		line-height:17px;
		gap:10px;
		&::before {
			content:'';
			margin-top:2px;
			box-sizing: border-box;
			display:inline-block;
			width:13px;
			height:13px;
			border-radius: 50%;
			outline:1px solid #ccc;
			background-color: #fafafa;
		}
	}
	input:checked + .lbl {
		&::before {
			width:13px;
			height:13px;
			outline:1px solid #b72831;
			background-color: #b72831;
			border:2px solid #fff;
		}
	}
}

/* 제로마트 상품목록 */
.main-zero-wrap.type-zero-product {
	.main-zero-header {
		.btn-header-top {
			border:0;
			padding:0;
			margin:0;
			background-color: transparent;
			width:35px;
			position:fixed;
			z-index: 19;
			top:0;
			left:10px;
		}
		.header-top {
			position:absolute;
			overflow:hidden;
			left: 10px;
            right: 10px;
            z-index: 20;
			width:auto;
            background: #fff;
			border-radius:0 0 8px 8px;
			transition: all 0.5s;
			&.hide {
				transform: translateY(-80px);
			}
		}
	}
	

	.category-wrap {
		background-color: #fff;
		padding-bottom:7px;
		.ctg1 {
			height:28px;
			background-color: #635E91;
			> .inner {
				padding:0 16px;
				display:flex;
				width:max-content;
				.ctg-item {
					flex-shrink: 0;
					color:#D1D0D4;
					font-weight:700;
					padding:0 20px;
					height:28px;
					overflow: hidden;
					line-height:30px;
					font-size:16px;
					&.active {
						color:#635E91;
						background-color: #fff;
						border-radius: 4px;
					}

				}
			}
		}
		.ctg2 {
			background-color: #fff;
			padding:7px 0;
			> .inner {
				padding:0 16px;
				display:flex;
				gap:15px;
				width:max-content;
				.ctg-item {
					flex-shrink: 0;
					color:#7F7F7F;
					padding:0 12px;
					height:27px;
					overflow: hidden;
					line-height:27px;
					font-size:16px;
					border: 1px solid #D9D9D9;
					border-radius: 6px;
					&.active {
						background: #D9D9D9;
						border-bottom: none;
						color: #3c3c3c
					}

				}
			}
		}
		
		.ctg3 {
			margin:0 16px;
			border-radius: 6px;
			background-color: #D9D9D9;
			height:27px;
			display:flex;
			align-items: flex-start;
			> .inner { 
				flex:1;
				display:flex;
				.ctg-item {
					flex-shrink: 0;
					padding:0 12px;
					height:33px;
					overflow: hidden;
					line-height:30px;
					color: #7F7F7F;
    				font-size: 16px;
					&.active {
						color: #3c3c3c
					}
				}
			}
			svg {
				flex-shrink: 0;
				margin-top:4px;
			}
		}
	}
}

.zero-search-slide {
	position:absolute;
	z-index: 20;
	right:0;
	min-width:33px;	
	display:flex;
	height:103px;
	max-width:calc(100% - 10px);
	transition:all 0.2s;
	will-change:width;
	&.open {
		width:calc(100% - 10px);
		.zero-search-wrap {
			width:100%;
		}
	}
	
	&.small {
		min-width:15px;	
		.btn-search-slide {
			width:15px;
		}
	}

	.btn-search-slide {
		display:flex;
		align-items: center;
		border:0;
		margin:0;
		padding:0;
		flex-shrink: 0;
		background-color: #fff;
		border-radius: 6px 0 0 6px;
		transition:all 0.1s;
		width:33px;
		> img {
			width:18px;
		}
		.bar {
			background-color:#f2f2f2;
			display:flex;
			align-items: center;
			width:15px;
			flex-shrink:0;
			height:100%;
			border-radius: 6px 0 0 6px;
			&::before {
				content:"";
				display:inline-block;
				flex-shrink: 0;
				margin-left:5px;
				width:3px;
				height:40%;
				border-radius: 3px;
				background-color:#248CBA;
			}
		}
	}
	.zero-search-wrap {
		width:0;
		flex:1;
		overflow:hidden;
		background-color: #fff;
		.inner {
			height:100%;
			padding:13px 8px;
			display:flex; 
			min-width:max-content;
			flex-direction: column;
			justify-content: space-between;
		}

		.type-checklist {
			display:flex;
			gap:15px;
			.checkbox-zero {
				font-size:13px;
				letter-spacing: -0.03em;
			}
		}
		.type-radio-list {
			display:flex;
			justify-content: space-between;
			.radio-normal {
				margin-right:0;
				font-size:13px;
				letter-spacing: -0.03em;
				.lbl {
					white-space: nowrap;
				}
			}
		}

		.type-search-input {
			margin-bottom:4px;
			input {
				padding:0 12px;
				width:100%;
				height:24px;
				border:1px solid #093AC3;
				border-radius: 4px;
				font-size: 14px;
				&::placeholder {
					color:#b3b3b3;
				}
			}
		}
	}
}

.main-zero-containner{
	.delivery-msg-tit {
		font-size:15px;
		color:#fff;
		border-radius:8px 8px 0 0;
		background:#1C2589;
		text-align:center;
		height:22px;
		line-height:22px;
		margin:0 20px;
	}
	.delivery-area-list {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
	}
	.mart-delivery-info {
		& ul {
			li + li {
				margin-top: 3px !important;
			}
		}
	}
}

.deleivery-info-wrap {
	.fc-red {
		color:red !important;
	}
	.fc-blue {
		color:#3B679B !important;
	}
	.delivery-msg-tit {
		font-size:15px;
		color:#fff;
		border-radius:8px 8px 0 0;
		background:#1C2589;
		text-align:center;
		height:22px;
		line-height:22px;
		margin:0 20px;
	}
	.delivery-info {
		.tit {
			background-color:#FF52B5;
		}
		& > ul > li {
			margin-top:6px;
			font-size:15px;
			letter-spacing: -0.03em;
			b {
				min-width:64px;
			}
			p {
				line-height:1.4;
			}
		}
	}

	.mart-week-list {
		display:flex;
		justify-content: space-between;
		margin-bottom:7px;
		> span {
			display:inline-block;
			width:24px;
			height:24px;
			overflow:hidden;
			line-height:25px;
			background-color:#635E91;
			color:#fff;
			font-size:14px;
			text-align:center;
			border-radius: 50%;
			&.bg-gray {
				background-color:#bcbcbc;
			}
		}
	}
	
	.holiday {
		border-radius:4px;
		background-color:red;
		color:#fff;
		text-align:center;
		font-size:15px;
		height:20px;
		overflow:hidden;
		line-height:22px;
		&.type2 {
			background-color:#7BC9F0;
		}
	}

	.delivery-area-list {
		display:flex;
		flex-wrap: wrap;
		gap:4px;
		button {
			width: calc((100% - 5 * 4px) / 6);
			appearance: none;
			border:0;
			color:#fff;
			font-size:13px;
			background-color: #695898;
			padding:2px 6px;
			border-radius:4px;
		}
	}
	.txt1 {
		margin-top:6px;
	} 

	.txt-msg {
		padding:0 8px 8px;
		font-size:15px;
		p {
			line-height:1.4;
			letter-spacing: -0.04em;
		}
	}
}


.deliver-area-popup {
	.layer-wrapper {
		max-width:230px !important;
	}
	.btn-close {
		border: 0;
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 10;
        width: 22px;
        height: 22px;
        appearance: none;
        background: url(/app/zeromart/img/alert-close.png) no-repeat top left / contain;
	}
	ul {
		max-height:300px;
		overflow-y:auto;
		&::-webkit-scrollbar {
		display: none; /* Chrome, Safari */
		}
	}
	ul li {
		font-size:14px;
		color:#000;
		line-height:1.6;
	}
}


.layer-small-popup {
	position:absolute;
	z-index:50;
	border-radius:10px;
	background-color: #fff;
	padding:10px;
	border:1px solid #ccc;
	max-width:150px;
	&.deliver-area-popup {
		ul {
			max-height:190px;
			overflow-y:auto;
			&::-webkit-scrollbar {
			display: none; /* Chrome, Safari */
			}
		}
		ul li {
			font-size:15px;
			color:#000;
			line-height:1.6;
			text-wrap: nowrap;
		}
	}
}