

/* ============================================================
   DESIGN TOKENS
============================================================ */

:root {

	--srbmc-black: #171410;
	--srbmc-black-2: #29231d;

	--srbmc-text: #302a24;
	--srbmc-muted: #867a6f;

	--srbmc-gold: #c8a46a;
	--srbmc-gold-dark: #98703e;

	--srbmc-ivory: #fffdfa;
	--srbmc-cream: #f8f3eb;

	--srbmc-red: #df555d;

	--srbmc-line: rgba(105,75,42,.12);

}


/* ============================================================
   03. CART DRAWER
============================================================ */

.cart-widget-side {

	width: min(480px, 100vw) !important;
	max-width: 100vw !important;

	z-index: 99999999 !important;

	border-left:
		1px solid rgba(200,164,106,.20)
		!important;

	background:

		radial-gradient(
			circle at 100% 0%,
			rgba(200,164,106,.13),
			transparent 29%
		),

		linear-gradient(
			160deg,
			#ffffff 0%,
			#faf7f1 100%
		)
		!important;

	box-shadow:
		-36px 0 100px rgba(18,13,8,.20)
		!important;

}


/* ============================================================
   04. BACKDROP
============================================================ */

.wd-close-side {

	background:
		rgba(16,13,10,.50)
		!important;

	backdrop-filter:
		blur(7px);

	-webkit-backdrop-filter:
		blur(7px);

}


/* ============================================================
   05. HEADER
============================================================ */

.cart-widget-side
.wd-heading {

	position: relative !important;

	min-height: 88px !important;

	padding:
		18px 20px !important;

	display: flex !important;

	align-items: center !important;

	justify-content:
		space-between !important;

	gap: 18px !important;

	border-bottom:
		1px solid
		var(--srbmc-line)
		!important;

	background:
		rgba(255,253,250,.97)
		!important;

	backdrop-filter:
		blur(16px);

	-webkit-backdrop-filter:
		blur(16px);

}


/* champagne divider */

.cart-widget-side
.wd-heading:after {

	content: "";

	position: absolute;

	left: 20px;
	right: 20px;
	bottom: 0;

	height: 1px;

	background:

		linear-gradient(
			90deg,
			transparent,
			rgba(200,164,106,.72),
			transparent
		);

	pointer-events: none;

}


/* ============================================================
   06. TITLE
============================================================ */

.cart-widget-side
.wd-heading
.title,

.cart-widget-side
.wd-heading-title {

	margin: 0 !important;

	color:
		var(--srbmc-black)
		!important;

	font-size:
		27px !important;

	line-height:
		1.1 !important;

	font-weight:
		760 !important;

	letter-spacing:
		-.04em !important;

}


/* ============================================================
   07. CLOSE BUTTON
   EXACT WOODMART STRUCTURE:
   .close-side-widget > a
============================================================ */

.cart-widget-side
.wd-heading
.close-side-widget {

	position: relative !important;

	flex:
		0 0 46px !important;

	width:
		46px !important;

	min-width:
		46px !important;

	max-width:
		46px !important;

	height:
		46px !important;

	min-height:
		46px !important;

	max-height:
		46px !important;

	margin:
		0 !important;

	padding:
		0 !important;

	display:
		block !important;

	overflow:
		hidden !important;

	border:
		1px solid
		var(--srbmc-line)
		!important;

	border-radius:
		14px !important;

	background:
		rgba(255,255,255,.90)
		!important;

	box-shadow:
		0 7px 20px
		rgba(35,24,12,.04)
		!important;

	color:
		transparent !important;

	font-size:
		0 !important;

	line-height:
		0 !important;

	transition:

		transform .22s ease,

		border-color .22s ease,

		background .22s ease,

		box-shadow .22s ease
		!important;

}


/* ============================================================
   CLICKABLE LINK
   Keep functionality, hide original text/icon.
============================================================ */

.cart-widget-side
.wd-heading
.close-side-widget
> a {

	position:
		absolute !important;

	inset:
		0 !important;

	z-index:
		5 !important;

	width:
		100% !important;

	height:
		100% !important;

	margin:
		0 !important;

	padding:
		0 !important;

	display:
		block !important;

	border:
		0 !important;

	background:
		transparent !important;

	color:
		transparent !important;

	font-size:
		0 !important;

	line-height:
		0 !important;

	text-indent:
		-9999px !important;

	box-shadow:
		none !important;

}


/* Kill WoodMart's original cross from the link */

.cart-widget-side
.wd-heading
.close-side-widget
> a:before,

.cart-widget-side
.wd-heading
.close-side-widget
> a:after {

	content:
		none !important;

	display:
		none !important;

}


/* Hide any physical icon/text child */

.cart-widget-side
.wd-heading
.close-side-widget
.wd-action-text,

.cart-widget-side
.wd-heading
.close-side-widget
.wd-action-icon,

.cart-widget-side
.wd-heading
.close-side-widget
svg,

.cart-widget-side
.wd-heading
.close-side-widget
i {

	display:
		none !important;

}


/* ============================================================
   OUR ONLY CLOSE X
   Two lines = one visual icon.
============================================================ */

.cart-widget-side
.wd-heading
.close-side-widget:before,

.cart-widget-side
.wd-heading
.close-side-widget:after {

	content: "" !important;

	position:
		absolute !important;

	z-index:
		3 !important;

	left:
		50% !important;

	top:
		50% !important;

	width:
		18px !important;

	height:
		2px !important;

	margin:
		0 !important;

	padding:
		0 !important;

	display:
		block !important;

	border:
		0 !important;

	border-radius:
		999px !important;

	background:
		var(--srbmc-black)
		!important;

	pointer-events:
		none !important;

	transform-origin:
		center center !important;

}


.cart-widget-side
.wd-heading
.close-side-widget:before {

	transform:
		translate(-50%,-50%)
		rotate(45deg)
		!important;

}


.cart-widget-side
.wd-heading
.close-side-widget:after {

	transform:
		translate(-50%,-50%)
		rotate(-45deg)
		!important;

}


/* hover */

.cart-widget-side
.wd-heading
.close-side-widget:hover {

	transform:
		translateY(-2px)
		scale(1.02)
		!important;

	border-color:
		rgba(200,164,106,.42)
		!important;

	background:
		#fff !important;

	box-shadow:
		0 12px 28px
		rgba(35,24,12,.09)
		!important;

}


/* ============================================================
   08. HIDE CART TOOLTIPS
============================================================ */

.cart-widget-side
.wd-tooltip-label {

	display:
		none !important;

	visibility:
		hidden !important;

	opacity:
		0 !important;

	pointer-events:
		none !important;

}


/* ============================================================
   09. CART BODY
============================================================ */

.cart-widget-side
.shopping-cart-widget-body {

	padding:
		14px !important;

	background:
		transparent !important;

}


.cart-widget-side
.wd-scroll-content {

	padding:
		0 !important;

}


/* ============================================================
   10. PRODUCT CARD
============================================================ */

.cart-widget-side
.mini_cart_item {

	position:
		relative !important;

	overflow:
		hidden !important;

	margin:
		0 0 11px !important;

	padding:
		13px 48px 13px 13px
		!important;

	border:
		1px solid
		var(--srbmc-line)
		!important;

	border-radius:
		19px !important;

	background:

		radial-gradient(
			circle at 100% 0%,
			rgba(200,164,106,.11),
			transparent 36%
		),

		linear-gradient(
			145deg,
			#fff,
			#faf6ef
		)
		!important;

	box-shadow:
		0 10px 28px
		rgba(40,27,14,.045);

	transition:

		transform .25s ease,

		border-color .25s ease,

		box-shadow .25s ease;

	animation:
		srbMiniProductIn
		.42s
		cubic-bezier(.2,.8,.2,1)
		both;

}


.cart-widget-side
.mini_cart_item:hover {

	transform:
		translateY(-3px);

	border-color:
		rgba(200,164,106,.32)
		!important;

	box-shadow:
		0 17px 38px
		rgba(40,27,14,.075);

}


/* ============================================================
   11. PRODUCT IMAGE
============================================================ */

.cart-widget-side
.mini_cart_item
img {

	width:
		72px !important;

	height:
		72px !important;

	padding:
		6px !important;

	object-fit:
		contain !important;

	border:
		1px solid
		var(--srbmc-line)
		!important;

	border-radius:
		14px !important;

	background:
		#fff !important;

	box-shadow:
		0 7px 20px
		rgba(40,27,14,.04);

	transition:
		transform .3s ease;

}


.cart-widget-side
.mini_cart_item:hover
img {

	transform:
		scale(1.05);

}


/* ============================================================
   12. PRODUCT TITLE
============================================================ */

.cart-widget-side
.mini_cart_item
.wd-entities-title,

.cart-widget-side
.mini_cart_item
.wd-entities-title a {

	color:
		var(--srbmc-black)
		!important;

	font-size:
		14px !important;

	line-height:
		1.48 !important;

	font-weight:
		660 !important;

	text-decoration:
		none !important;

}


/* ============================================================
   13. QUANTITY + PRICE
============================================================ */

.cart-widget-side
.mini_cart_item
.quantity {

	margin-top:
		7px !important;

	color:
		var(--srbmc-muted)
		!important;

	font-size:
		12px !important;

	line-height:
		1.45 !important;

	font-weight:
		600 !important;

}


.cart-widget-side
.mini_cart_item
.woocommerce-Price-amount {

	color:
		var(--srbmc-gold-dark)
		!important;

	font-weight:
		780 !important;

}


/* ============================================================
   14. PRODUCT REMOVE BUTTON
   ONE X ONLY
============================================================ */

.cart-widget-side
.mini_cart_item
.remove {

	position:
		absolute !important;

	top:
		12px !important;

	right:
		12px !important;

	left:
		auto !important;

	width:
		32px !important;

	min-width:
		32px !important;

	max-width:
		32px !important;

	height:
		32px !important;

	min-height:
		32px !important;

	max-height:
		32px !important;

	margin:
		0 !important;

	padding:
		0 !important;

	display:
		block !important;

	overflow:
		hidden !important;

	border:
		1px solid
		rgba(223,85,93,.17)
		!important;

	border-radius:
		11px !important;

	background:
		rgba(223,85,93,.06)
		!important;

	color:
		transparent !important;

	font-size:
		0 !important;

	line-height:
		0 !important;

	text-indent:
		-9999px !important;

	box-shadow:
		none !important;

	transition:

		transform .2s ease,

		background .2s ease,

		border-color .2s ease;

}


/* One custom remove X */

.cart-widget-side
.mini_cart_item
.remove:before,

.cart-widget-side
.mini_cart_item
.remove:after {

	content: "" !important;

	position:
		absolute !important;

	left:
		50% !important;

	top:
		50% !important;

	width:
		14px !important;

	height:
		1.7px !important;

	margin:
		0 !important;

	display:
		block !important;

	border:
		0 !important;

	border-radius:
		999px !important;

	background:
		var(--srbmc-red)
		!important;

	transform-origin:
		center center !important;

}


.cart-widget-side
.mini_cart_item
.remove:before {

	transform:
		translate(-50%,-50%)
		rotate(45deg)
		!important;

}


.cart-widget-side
.mini_cart_item
.remove:after {

	transform:
		translate(-50%,-50%)
		rotate(-45deg)
		!important;

}


.cart-widget-side
.mini_cart_item
.remove:hover {

	transform:
		scale(1.07)
		!important;

	background:
		var(--srbmc-red)
		!important;

	border-color:
		var(--srbmc-red)
		!important;

}


.cart-widget-side
.mini_cart_item
.remove:hover:before,

.cart-widget-side
.mini_cart_item
.remove:hover:after {

	background:
		#fff !important;

}


/* ============================================================
   15. FOOTER
============================================================ */

.cart-widget-side
.shopping-cart-widget-footer {

	position:
		relative !important;

	margin-top:
		auto !important;

	padding:
		16px 17px 22px
		!important;

	border-top:
		1px solid
		var(--srbmc-line)
		!important;

	background:

		linear-gradient(
			180deg,
			rgba(255,253,250,.98),
			#f8f3eb
		)
		!important;

	box-shadow:
		0 -18px 40px
		rgba(40,27,14,.05);

}


/* ============================================================
   16. SUBTOTAL
============================================================ */

.cart-widget-side
.woocommerce-mini-cart__total {

	display:
		flex !important;

	align-items:
		center !important;

	justify-content:
		space-between !important;

	width:
		100% !important;

	min-height:
		60px !important;

	margin:
		0 0 14px !important;

	padding:
		14px 16px !important;

	border:
		1px solid
		var(--srbmc-line)
		!important;

	border-radius:
		16px !important;

	background:
		var(--srbmc-ivory)
		!important;

	color:
		var(--srbmc-text)
		!important;

	font-size:
		12px !important;

	box-shadow:
		0 6px 18px
		rgba(40,27,14,.025);

}


.cart-widget-side
.woocommerce-mini-cart__total
strong {

	color:
		var(--srbmc-text)
		!important;

	font-size:
		12px !important;

	font-weight:
		700 !important;

}


.cart-widget-side
.woocommerce-mini-cart__total
.woocommerce-Price-amount {

	color:
		var(--srbmc-black)
		!important;

	font-size:
		23px !important;

	line-height:
		1 !important;

	font-weight:
		830 !important;

	letter-spacing:
		-.04em;

}


/* ============================================================
   17. FREE SHIPPING
============================================================ */

.cart-widget-side
.wd-free-progress-bar {

	display:
		block !important;

	position:
		relative !important;

	width:
		100% !important;

	height:
		auto !important;

	margin:
		0 0 17px !important;

	padding:
		0 !important;

	background:
		transparent !important;

	border:
		0 !important;

	box-shadow:
		none !important;

}


.cart-widget-side
.wd-free-progress-bar
.progress-msg {

	display:
		block !important;

	position:
		relative !important;

	width:
		100% !important;

	margin:
		0 0 8px !important;

	padding:
		0 !important;

	color:
		var(--srbmc-muted)
		!important;

	font-size:
		12px !important;

	line-height:
		1.5 !important;

	font-weight:
		520 !important;

	white-space:
		normal !important;

}


.cart-widget-side
.wd-free-progress-bar
.progress-msg
.woocommerce-Price-amount {

	color:
		var(--srbmc-gold-dark)
		!important;

	font-weight:
		780 !important;

}


/* progress track */

.cart-widget-side
.wd-free-progress-bar
.progress-area {

	position:
		relative !important;

	display:
		block !important;

	width:
		100% !important;

	height:
		6px !important;

	min-height:
		6px !important;

	max-height:
		6px !important;

	margin:
		0 !important;

	padding:
		0 !important;

	overflow:
		hidden !important;

	border-radius:
		999px !important;

	background:
		rgba(23,20,16,.08)
		!important;

}


/* progress fill */

.cart-widget-side
.wd-free-progress-bar
.progress-bar {

	position:
		absolute !important;

	left:
		0 !important;

	top:
		0 !important;

	height:
		6px !important;

	min-height:
		6px !important;

	max-height:
		6px !important;

	border-radius:
		999px !important;

	background:

		linear-gradient(
			90deg,
			var(--srbmc-gold-dark),
			var(--srbmc-gold)
		)
		!important;

}


/* ============================================================
   18. FOOTER BUTTONS
============================================================ */

.cart-widget-side
.woocommerce-mini-cart__buttons {

	display:
		grid !important;

	grid-template-columns:
		1fr 1fr !important;

	gap:
		10px !important;

	width:
		100% !important;

	margin:
		0 !important;

	padding:
		0 !important;

}


/* button base */

.cart-widget-side
.woocommerce-mini-cart__buttons
.button {

	position:
		relative !important;

	overflow:
		hidden !important;

	width:
		100% !important;

	min-height:
		53px !important;

	margin:
		0 !important;

	padding:
		0 12px !important;

	display:
		flex !important;

	align-items:
		center !important;

	justify-content:
		center !important;

	border-radius:
		15px !important;

	font-size:
		12px !important;

	line-height:
		1.25 !important;

	font-weight:
		750 !important;

	text-align:
		center !important;

	text-decoration:
		none !important;

	transition:

		transform .22s ease,

		box-shadow .22s ease,

		border-color .22s ease;

}


/* View cart */

.cart-widget-side
.woocommerce-mini-cart__buttons
.button:not(.checkout) {

	border:
		1px solid
		var(--srbmc-line)
		!important;

	background:
		#fffdfa !important;

	color:
		var(--srbmc-black)
		!important;

}


/* Checkout */

.cart-widget-side
.woocommerce-mini-cart__buttons
.checkout {

	border:
		1px solid
		rgba(200,164,106,.20)
		!important;

	background:

		linear-gradient(
			135deg,
			#29241e,
			#151310
		)
		!important;

	color:
		#fff !important;

	box-shadow:
		0 13px 29px
		rgba(27,19,11,.16);

}


/* shine animation */

.cart-widget-side
.woocommerce-mini-cart__buttons
.checkout:before {

	content: "";

	position:
		absolute;

	inset:
		0;

	background:

		linear-gradient(
			110deg,
			transparent 25%,
			rgba(255,255,255,.17) 48%,
			transparent 70%
		);

	transform:
		translateX(-130%);

	transition:
		transform .7s ease;

}


.cart-widget-side
.woocommerce-mini-cart__buttons
.checkout:hover:before {

	transform:
		translateX(130%);

}


.cart-widget-side
.woocommerce-mini-cart__buttons
.button:hover {

	transform:
		translateY(-2px);

	box-shadow:
		0 17px 34px
		rgba(27,19,11,.15);

}


/* ============================================================
   19. EMPTY CART
============================================================ */

.cart-widget-side
.wd-empty-mini-cart {

	margin:
		18px 0 !important;

	padding:
		44px 22px !important;

	border:
		1px solid
		var(--srbmc-line);

	border-radius:
		24px;

	background:

		radial-gradient(
			circle at 50% 0%,
			rgba(200,164,106,.14),
			transparent 35%
		),

		linear-gradient(
			145deg,
			#fff,
			#faf5ec
		);

	box-shadow:
		0 16px 38px
		rgba(41,28,14,.05);

	text-align:
		center;

}


.cart-widget-side
.woocommerce-mini-cart__empty-message {

	color:
		var(--srbmc-black)
		!important;

	font-size:
		18px !important;

	line-height:
		1.45 !important;

	font-weight:
		680 !important;

}


/* ============================================================
   20. ANIMATION
============================================================ */

@keyframes srbMiniProductIn {

	from {

		opacity:
			0;

		transform:
			translateY(8px)
			scale(.992);

	}

	to {

		opacity:
			1;

		transform:
			translateY(0)
			scale(1);

	}

}


/* ============================================================
   21. MOBILE
============================================================ */

@media(max-width:767px) {

	.cart-widget-side {

		width:
			min(94vw,430px)
			!important;

	}


	.cart-widget-side
	.wd-heading {

		min-height:
			74px !important;

		padding:
			13px 14px !important;

	}


	.cart-widget-side
	.wd-heading
	.title,

	.cart-widget-side
	.wd-heading-title {

		font-size:
			22px !important;

	}


	/* Close stays square */

	.cart-widget-side
	.wd-heading
	.close-side-widget {

		flex-basis:
			44px !important;

		width:
			44px !important;

		min-width:
			44px !important;

		max-width:
			44px !important;

		height:
			44px !important;

		min-height:
			44px !important;

		max-height:
			44px !important;

	}


	.cart-widget-side
	.shopping-cart-widget-body {

		padding:
			10px !important;

	}


	.cart-widget-side
	.mini_cart_item {

		padding:
			10px 42px 10px 10px
			!important;

		border-radius:
			15px !important;

	}


	.cart-widget-side
	.mini_cart_item
	img {

		width:
			59px !important;

		height:
			59px !important;

	}


	.cart-widget-side
	.mini_cart_item
	.wd-entities-title {

		font-size:
			12px !important;

	}


	.cart-widget-side
	.shopping-cart-widget-footer {

		padding:
			12px 12px
			calc(17px + env(safe-area-inset-bottom))
			!important;

	}


	.cart-widget-side
	.woocommerce-mini-cart__buttons {

		gap:
			7px !important;

	}


	.cart-widget-side
	.woocommerce-mini-cart__buttons
	.button {

		min-height:
			49px !important;

		padding:
			0 7px !important;

		font-size:
			11px !important;

	}

}


/* ============================================================
   22. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce) {

	.cart-widget-side * {

		animation:
			none !important;

		transition:
			none !important;

	}

}

