/*
 * PDP purchase state and centered cart-panel refinements.
 * Version: 1.0.0
 */

/* An unavailable Add to cart action should read as inactive, not primary. */
.dss-pdp-v2 .single_add_to_cart_button.wc-variation-selection-needed,
.dss-pdp-v2 .single_add_to_cart_button.disabled,
.dss-pdp-v2 .single_add_to_cart_button:disabled{
	border-color:#d6d6d6!important;
	background:#ececec!important;
	color:#747474!important;
	box-shadow:none!important;
	transform:none!important;
	opacity:1!important;
	cursor:not-allowed!important;
}
.dss-pdp-v2 .single_add_to_cart_button.wc-variation-selection-needed:hover,
.dss-pdp-v2 .single_add_to_cart_button.disabled:hover,
.dss-pdp-v2 .single_add_to_cart_button:disabled:hover{
	border-color:#d6d6d6!important;
	background:#ececec!important;
	color:#747474!important;
	transform:none!important;
}

/* Keep the storefront visible around the cart as a blurred background. */
body::before{
	background:rgba(12,12,12,.4)!important;
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
}
body.cart-drawer-open::before{
	opacity:1!important;
	visibility:visible!important;
}
.cart-drawer{
	top:50%!important;
	left:50%!important;
	right:auto!important;
	width:min(420px,calc(100vw - 48px))!important;
	max-width:420px!important;
	height:min(760px,calc(100dvh - 40px))!important;
	max-height:none!important;
	padding:0!important;
	border:1px solid rgba(255,255,255,.72)!important;
	border-radius:12px!important;
	background:#fff!important;
	box-shadow:0 28px 90px rgba(0,0,0,.28)!important;
	overflow:hidden!important;
	opacity:0!important;
	visibility:hidden!important;
	pointer-events:none!important;
	transform:translate3d(-50%,-48%,0) scale(.97)!important;
	transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease,visibility 0s linear .28s!important;
}
.cart-drawer.open{
	opacity:1!important;
	visibility:visible!important;
	pointer-events:auto!important;
	transform:translate3d(-50%,-50%,0) scale(1)!important;
	transition-delay:0s!important;
}
.cart-drawer>div:first-child{
	background:#fff!important;
}

@media(max-width:560px){
	.cart-drawer{
		width:calc(100vw - 32px)!important;
		max-width:none!important;
		height:calc(100dvh - 28px)!important;
		border-radius:10px!important;
	}
}

@media(prefers-reduced-motion:reduce){
	.cart-drawer{
		transition:none!important;
	}
}
