#zcart-btn{
	position:fixed;
	bottom:25px;
	left:25px;
	width:60px;
	height:60px;
	padding:0;
	border:0;
	border-radius:50%;
	background:#111;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:22px;
	cursor:pointer;
	z-index:99997;
	box-shadow:0 12px 30px rgba(0,0,0,.25);
	transition:transform .2s ease,box-shadow .2s ease;
}
#zcart-btn:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(0,0,0,.3)}
#zcart-btn:focus-visible,#zcart-close:focus-visible,.zcart-qty button:focus-visible,.zcart-remove:focus-visible,.zcart-checkout:focus-visible{outline:3px solid rgba(219,167,78,.55);outline-offset:3px}
.zcart-icon{line-height:1}
#zcart-count{
	position:absolute!important;
	top:-6px!important;
	right:-6px!important;
	min-width:22px!important;
	height:22px!important;
	padding:0 5px!important;
	margin:0!important;
	border:0!important;
	border-radius:20px!important;
	background:#00c853!important;
	color:#fff!important;
	font-size:12px!important;
	font-weight:700!important;
	line-height:22px!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	visibility:visible!important;
	opacity:1!important;
	box-sizing:border-box!important;
	pointer-events:none!important;
}
#zcart-panel{
	position:fixed;
	top:0;
	left:-430px;
	width:min(380px,100%);
	height:100vh;
	height:100dvh;
	background:#fff;
	z-index:999999999;
	transition:left .35s ease;
	display:flex;
	flex-direction:column;
	box-shadow:0 0 40px rgba(0,0,0,.25);
}
#zcart-panel.open{left:0}
.zcart-overlay{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.38);
	opacity:0;
	visibility:hidden;
	transition:opacity .3s ease,visibility .3s ease;
	z-index:99998;
}
.zcart-overlay.open{opacity:1;visibility:visible}
body.zcart-is-open{overflow:hidden}
.zcart-header{
	padding:20px;
	font-size:18px;
	border-bottom:1px solid #eee;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
#zcart-close{
	border:0;
	background:transparent;
	padding:5px;
	font-size:20px;
	line-height:1;
	cursor:pointer;
	color:#111;
}
.zcart-notice{display:none;margin:12px 20px 0;padding:10px 12px;border-radius:7px;font-size:13px;line-height:1.5}
.zcart-notice.is-visible{display:block}
.zcart-notice.is-error{background:#fff1f1;color:#a82121;border:1px solid #f0caca}
.zcart-notice.is-success{background:#effbf3;color:#176b36;border:1px solid #c7ead2}
.zcart-items{flex:1;overflow:auto;padding:20px}
.zcart-item{
	display:flex;
	gap:12px;
	margin-bottom:15px;
	border-bottom:1px solid #f1f1f1;
	padding-bottom:15px;
	transition:opacity .2s ease;
}
.zcart-item.is-loading{opacity:.45;pointer-events:none}
.zcart-thumb img{width:70px;height:70px;object-fit:cover;border-radius:8px;display:block}
.zcart-item-content{min-width:0;flex:1}
.zcart-title{font-size:14px;font-weight:600;line-height:1.45}
.zcart-title a{color:inherit;text-decoration:none}
.zcart-price{font-size:13px;color:#777;margin-top:3px}
.zcart-qty{display:flex;align-items:center;gap:8px;margin-top:8px}
.zcart-qty button{
	width:28px;
	height:28px;
	padding:0;
	border:0;
	background:#eee;
	cursor:pointer;
	border-radius:5px;
	font-size:17px;
	line-height:1;
	color:#111;
}
.qtynum{min-width:18px;text-align:center;font-weight:600}
.zcart-remove{
	display:inline-block;
	padding:0;
	border:0;
	background:transparent;
	font-size:12px;
	color:#d63638;
	cursor:pointer;
	margin-top:7px;
}
.zcart-footer{padding:20px;border-top:1px solid #eee}
.zcart-footer.is-empty .zcart-checkout{display:none}
.zcart-subtotal{
	font-size:17px;
	font-weight:700;
	margin-bottom:12px;
	color:#171717;
	transform-origin:center right;
}

.zcart-subtotal .woocommerce-Price-amount{
	display:inline-block;
	font-size:19px;
	font-weight:800;
	transition:
		color .5s ease,
		transform .5s ease-in-out,
		text-shadow .5s ease;
}

.zcart-subtotal.zcart-price-changed{
	animation:zcartSubtotalPop .5s ease-in-out;
}

.zcart-subtotal.zcart-price-changed .woocommerce-Price-amount{
	animation:zcartPriceGlow .5s ease-in-out;
}

@keyframes zcartSubtotalPop{
	0%{
		transform:scale(1);
	}
	50%{
		transform:scale(1.085);
	}
	100%{
		transform:scale(1);
	}
}

@keyframes zcartPriceGlow{
	0%{
		color:#171717;
		transform:scale(1);
		text-shadow:0 0 0 rgba(0,200,83,0);
	}

	25%{
		color:#00a846;
		transform:scale(1.13);
		text-shadow:
			0 0 12px rgba(0,200,83,.28),
			0 3px 10px rgba(0,200,83,.12);
	}

	52%{
		color:#00b94f;
		transform:scale(1.055);
		text-shadow:
			0 0 7px rgba(0,200,83,.18);
	}

	100%{
		color:#171717;
		transform:scale(1);
		text-shadow:0 0 0 rgba(0,200,83,0);
	}
}
.zcart-checkout{
	display:block;
	background:#00c853;
	color:#fff!important;
	text-align:center;
	padding:13px;
	border-radius:7px;
	font-weight:700;
	text-decoration:none!important;
	transition:filter .2s ease,transform .2s ease;
}
.zcart-checkout:hover{filter:brightness(.95);transform:translateY(-1px)}
.zcart-empty{text-align:center;padding:45px 20px;color:#777;display:flex;flex-direction:column;gap:6px}
.zcart-empty span{font-size:32px}
.zcart-empty strong{color:#333;font-size:17px}
.zcart-empty small{font-size:13px}
.zcart-shipping{margin-bottom:14px;font-size:14px;line-height:1.5}
.zcart-bar{height:8px;background:#eee;border-radius:20px;overflow:hidden;margin-top:7px}
.zcart-bar-fill{height:100%;background:linear-gradient(90deg,#00c853,#43a047);transition:width .35s ease}
.single_add_to_cart_button.loading,.add_to_cart_button.zpac-loading{position:relative;pointer-events:none;opacity:.72}
@media(max-width:480px){
	#zcart-panel{width:100%;left:-100%}
	#zcart-btn{bottom:18px;left:18px}
}
@media(prefers-reduced-motion:reduce){
	#zcart-panel,.zcart-overlay,.zcart-bar-fill,#zcart-btn,.zcart-checkout{transition:none!important}
}
