/*
 * PDP purchase state, shared loaders, and cart-drawer backdrop.
 * Version: 1.0.6
 */

/* An unavailable Add to cart action should read as inactive, not primary. */
#ProductInfo .single_add_to_cart_button.is-size-required,
.dss-pdp-v2 .single_add_to_cart_button.is-size-required,
.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;
}
#ProductInfo .single_add_to_cart_button.is-size-required:hover,
.dss-pdp-v2 .single_add_to_cart_button.is-size-required:hover,
.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;
}

/* Replace WooCommerce's font glyph with one consistent centered loader. */
body .woocommerce .button.loading,
body button.loading,
body a.button.loading,
body [data-add].loading,
#ProductInfo .single_add_to_cart_button.loading{
	position:relative!important;
	border-color:#111!important;
	background:#111!important;
	color:transparent!important;
	opacity:1!important;
	transform:none!important;
	pointer-events:none!important;
	cursor:wait!important;
}
body .woocommerce .button.loading::after,
body button.loading::after,
body a.button.loading::after,
body [data-add].loading::after,
#ProductInfo .single_add_to_cart_button.loading::after{
	content:""!important;
	position:absolute!important;
	top:50%!important;
	left:50%!important;
	right:auto!important;
	bottom:auto!important;
	width:18px!important;
	height:18px!important;
	margin:-9px 0 0 -9px!important;
	border:2px solid rgba(255,255,255,.32)!important;
	border-top-color:#fff!important;
	border-radius:50%!important;
	background:transparent!important;
	box-shadow:none!important;
	font-family:inherit!important;
	line-height:1!important;
	opacity:1!important;
	animation:dss-button-loader-spin .65s linear infinite!important;
}
@keyframes dss-button-loader-spin{
	to{transform:rotate(360deg)}
}

/* 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;
}

/* Compact Dubai-time delivery promise inside the cart drawer. */
#cartDeliveryEstimate{
	flex:0 0 auto!important;
	display:grid!important;
	grid-template-columns:38px minmax(0,1fr)!important;
	align-items:center!important;
	gap:11px!important;
	margin:0!important;
	padding:12px 20px 13px!important;
	border-bottom:1px solid #e4eee7!important;
	background:#f4faf6!important;
}
.cart-delivery-icon{
	display:grid!important;
	place-items:center!important;
	width:38px!important;
	height:38px!important;
	border:1px solid #cce6d5!important;
	border-radius:10px!important;
	background:#fff!important;
	color:#0d7d42!important;
}
.cart-delivery-icon svg{
	width:20px!important;
	height:20px!important;
	stroke:currentColor!important;
	stroke-width:1.8!important;
	stroke-linecap:round!important;
	stroke-linejoin:round!important;
}
.cart-delivery-copy{min-width:0!important}
.cart-delivery-kicker{
	display:block!important;
	margin:0 0 2px!important;
	color:#557060!important;
	font-size:9px!important;
	font-weight:850!important;
	letter-spacing:.09em!important;
	line-height:1.2!important;
	text-transform:uppercase!important;
}
.cart-delivery-title{
	display:block!important;
	color:#122018!important;
	font-size:13.5px!important;
	font-weight:850!important;
	line-height:1.25!important;
	letter-spacing:-.01em!important;
}
.cart-delivery-meta{
	display:flex!important;
	align-items:center!important;
	gap:6px!important;
	margin-top:4px!important;
	color:#66736a!important;
	font-size:10.5px!important;
	line-height:1.2!important;
}
.cart-delivery-countdown{
	dis:inline-flex!important;
	align-items:center!important;
	padding:3px 6px!important;
	border-radius:5px!important;
	background:#dff2e6!important;
	color:#086b37!important;
	font-size:10.5px!important;
	font-weight:850!important;
	font-variant-numeric:tabular-nums!important;
	letter-spacing:.02em!important;
}
#cartDeliveryEstimate.cutoff-passed{
	border-color:#eee8db!important;
	background:#faf8f2!important;
}
#cartDeliveryEstimate.cutoff-passed .cart-delivery-icon{
	border-color:#eadfca!important;
	color:#8a641d!important;
}
#cartDeliveryEstimate.cutoff-passed .cart-delivery-countdown{
	background:#f2ead8!important;
	color:#765517!important;
}

/* Keep a visible strip of the page beside the mobile right-side cart. */
@media(max-width:560px){
	body #cartDrawer.cart-drawer{
		top:0!important;
		right:0!important;
		bottom:0!important;
		left:auto!important;
		width:min(390px,calc(100vw - clamp(44px,14vw,56px)))!important;
		max-width:none!important;
		height:100dvh!important;
		max-height:none!important;
		border-left:1px solid rgba(17,17,17,.08)!important;
		border-radius:0!important;
		box-shadow:-18px 0 44px rgba(0,0,0,.16)!important;
	}
	body.cart-drawer-open::before{
		background:rgba(15,15,15,.48)!important;
		-webkit-backdrop-filter:blur(6px)!important;
		backdrop-filter:blur(6px)!important;
	}
}
