/**
 * Cart Drawer Builder.
 *
 * @package RivenGaming
 */


/* Overlay
--------------------------------------------- */

.riven-cart-drawer-overlay {
	position: fixed;

	inset: 0;

	background:
		rgba(0, 0, 0, .45);

	backdrop-filter:
		blur(5px);

	opacity: 0;

	visibility: hidden;

	transition:
		all .3s ease;

	z-index: 99998;
}


.riven-cart-drawer-overlay.is-active {

	opacity: 1;

	visibility: visible;

}






/* Drawer Base
--------------------------------------------- */

.riven-cart-drawer {
	position: fixed;

	top: 0;
	right: 0;

	width:
		var(
			--riven-cart-width,
			450px
		);

	max-width: 100%;

	height: 100vh;

	background: #ffffff;

	overflow: hidden;

	transition:
		transform .35s cubic-bezier(
			.4,
			0,
			.2,
			1
		);

	z-index: 99999;
}


.riven-cart-drawer.is-active {

	transform:
		translate(0, 0);

}






/* Inner Elementor Area
--------------------------------------------- */

.riven-cart-drawer-inner {

	width: 100%;

	height: 100%;

	overflow-x: hidden;

	overflow-y: auto;

}






/* Right Position
--------------------------------------------- */

.riven-cart-right {

	right: 0;

	left: auto;

	transform:
		translateX(100%);

}


.riven-cart-right.is-active {

	transform:
		translateX(0);

}







/* Left Position
--------------------------------------------- */

.riven-cart-left {

	left: 0;

	right: auto;

	transform:
		translateX(-100%);

}


.riven-cart-left.is-active {

	transform:
		translateX(0);

}








/* Bottom Position
--------------------------------------------- */

.riven-cart-bottom {

	top: auto;

	right: auto;

	bottom: 0;

	left: 50%;


	width:
		1100px;


	max-width:
		calc(
			100% - 60px
		);


	height:
		var(
			--riven-cart-height,
			88vh
		);


	border-radius:
		28px
		28px
		0
		0;


	box-shadow:
		0
		-25px
		80px
		rgba(
			0,
			0,
			0,
			.35
		);
		
	overflow: hidden;

}



/* Body Lock
--------------------------------------------- */

body.riven-cart-open {

	overflow: hidden;

}








/* Scrollbar
--------------------------------------------- */

.riven-cart-drawer-inner::-webkit-scrollbar {

	width: 5px;

}


.riven-cart-drawer-inner::-webkit-scrollbar-track {

	background:
		transparent;

}


.riven-cart-drawer-inner::-webkit-scrollbar-thumb {

	background:
		#cccccc;

	border-radius:
		20px;

}





/* Cart Items Default Helper
--------------------------------------------- */

.riven-cart-items {

	display: flex;
	flex-direction: column;
	gap: 15px;

}


.riven-cart-item {

	position: relative;

	display: flex;
	align-items: center;

	gap: 15px;

	padding: 14px;

	background: #ffffff;

	border: 1px solid #eeeeee;

	border-radius: 14px;

	box-shadow:
		0 8px 25px rgba(0,0,0,.05);

}


.riven-cart-item-image img {

	width: 70px;
	height: 70px;

	object-fit: cover;

	border-radius: 12px;

	background: #f5f5f5;

}


.riven-cart-item-content {

	flex: 1;

	min-width: 0;

}


.riven-cart-item-title {

	font-size: 15px;

	font-weight: 600;

	line-height: 1.4;

	color: #111111;

}


.riven-cart-item-price {

	margin-top: 6px;

	font-size: 14px;

	font-weight: 600;

	color: #222222;

}







/* Quantity
--------------------------------------------- */

.riven-cart-qty {

	display: inline-flex;

	align-items: center;

	gap: 10px;

	margin-top: 12px;

	padding: 4px;

	background: #f6f6f6;

	border-radius: 999px;

}


.riven-cart-qty button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-height: 28px;
    min-width: 28px;
    padding: 0px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #111111;
    font-size: 16px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    cursor: pointer;
    transition: .25s ease;
}


.riven-cart-qty button:hover {

	background: #111111;

	color: #ffffff;

}


.riven-cart-qty span {

	min-width: 18px;

	text-align: center;

	font-size: 14px;

	font-weight: 600;

	color: #111111;

}







/* Remove
--------------------------------------------- */

.riven-cart-remove {

	position: absolute;

	top: 12px;

	right: 12px;


	display: flex;

	align-items: center;

	justify-content: center;


	width: 24px;

	height: 24px;


	background: #f5f5f5;

	color: #111111;


	border-radius: 50%;


	font-size: 18px;

	line-height: 1;


	text-decoration: none;


	transition: .25s ease;

}


.riven-cart-remove:hover {

	background: #111111;

	color: #ffffff;

}







/* Summary Helper
--------------------------------------------- */

.riven-cart-summary {

	padding: 15px;

	background: #ffffff;

	border-radius: 16px;

	border: 1px solid #eeeeee;

}


.riven-cart-summary-row {

	display: flex;

	align-items: center;

	justify-content: space-between;


	margin-bottom: 12px;


	font-size: 15px;

	color: #555555;

}


.riven-cart-summary-row strong {

	color: #111111;

	font-weight: 700;

}


.riven-cart-total {

	padding-top: 12px;

	border-top: 1px solid #eeeeee;


	font-size: 18px;

	font-weight: 700;

	color: #111111;

}








/* Mobile
--------------------------------------------- */

@media (max-width: 767px) {


	.riven-cart-right,
	.riven-cart-left {

		top: auto;

		bottom: 0;

		left: 0;


		width: 100%;

		height: 85vh;


		background: #ffffff;


		border-radius:
			20px
			20px
			0
			0;


		transform:
			translateY(100%);

	}



	.riven-cart-right.is-active,
	.riven-cart-left.is-active {

		transform:
			translateY(0);

	}


}

/* Quantity Button State
--------------------------------------------- */

.riven-cart-qty button:focus,
.riven-cart-qty button:focus-visible {

	outline: none;

	background: #111111;

	color: #ffffff;

	border-color: #111111;

}


.riven-cart-qty button:active {

	background: #000000;

	color: #ffffff;

	transform: scale(.92);

}


/* Quick Order Button
--------------------------------------------- */

.riven-cart-quick-order {

	display: flex;

	align-items: center;

	justify-content: center;


	width: 100%;


	margin-top: 16px;


	padding: 14px 20px;


	background: #111111;

	color: #ffffff;


	border: 1px solid #111111;

	border-radius: 12px;


	font-size: 15px;

	font-weight: 700;

	line-height: 1;


	cursor: pointer;


	transition:
		background .25s ease,
		color .25s ease,
		border-color .25s ease,
		transform .25s ease;

}


.riven-cart-quick-order:hover {

	background: #ffffff;

	color: #111111;

	border-color: #111111;

}


.riven-cart-quick-order:active {

	transform: scale(.98);

}


.riven-cart-quick-order:focus {

	outline: none;

}



/**
 * Hide cart content
 */
.riven-cart-items.hide,
.riven-cart-summary.hide {

	display: none !important;

}

.riven-cart-summary.is-hidden {
	display: none;
}