.pnova-cart-drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1000;
}
.pnova-cart-drawer-backdrop[hidden] {
	display: none;
}

.pnova-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 420px;
	max-width: 92vw;
	background: #fff;
	box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
	z-index: 1001;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.3s ease;
}
.pnova-cart-drawer.is-open {
	transform: translateX(0);
}
.pnova-cart-drawer[hidden] {
	display: flex;
}

.pnova-cart-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
}
.pnova-cart-drawer-title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 17px;
	font-weight: 600;
	color: #111;
}
.pnova-cart-drawer-close {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: #111;
	display: flex;
}

.pnova-cart-drawer-body {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	padding: 0 20px;
	font-family: "Montserrat", system-ui, sans-serif;
}
.pnova-cart-drawer-body .widget_shopping_cart,
.pnova-cart-drawer-body .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	padding: 0;
}
.pnova-cart-drawer-body .widget-title,
.pnova-cart-drawer-body .widgettitle {
	display: none;
}

.pnova-cart-drawer-body ul.woocommerce-mini-cart,
.pnova-cart-drawer-body ul.cart_list {
	flex: 1 1 0%;
	overflow-y: auto;
	list-style: none;
	margin: 0;
	padding: 0 12px 0 0;
}
.pnova-cart-drawer-body .woocommerce-mini-cart-item,
.pnova-cart-drawer-body .mini_cart_item {
	position: relative;
	padding: 13px 0 13px 35px;
	border-bottom: 1px solid #f1f1f1;
	font-size: 13px;
}
.pnova-cart-drawer-body .mini_cart_item img {
	width: 55px;
	height: 55px;
	object-fit: cover;
	border-radius: 4px;
	float: right;
}
.pnova-cart-drawer-body .mini_cart_item a:not(.remove) {
	display: block;
	margin-bottom: 4px;
	color: #222;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
.pnova-cart-drawer-body .mini_cart_item a:not(.remove):hover {
	color: #123d29;
}
.pnova-cart-drawer-body .quantity {
	display: block;
	color: #888;
	font-size: 12px;
}
.pnova-cart-drawer-body .remove_from_cart_button {
	position: absolute;
	top: 15px;
	left: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #666;
	font-size: 0 !important;
	line-height: 1;
	text-decoration: none;
}
.pnova-cart-drawer-body .remove_from_cart_button::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3Cline x1='10' y1='11' x2='10' y2='17'%3E%3C/line%3E%3Cline x1='14' y1='11' x2='14' y2='17'%3E%3C/line%3E%3C/svg%3E") 50% 50% / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3Cline x1='10' y1='11' x2='10' y2='17'%3E%3C/line%3E%3Cline x1='14' y1='11' x2='14' y2='17'%3E%3C/line%3E%3C/svg%3E") 50% 50% / contain no-repeat;
}
.pnova-cart-drawer-body .remove_from_cart_button:hover {
	color: #b44a2a;
}

.pnova-cart-drawer-body .woocommerce-mini-cart__total,
.pnova-cart-drawer-body .total {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 18px 0;
	border-top: 1px solid #e2e2e2;
	font-size: 15px;
	font-weight: 700;
	color: #111;
}

.pnova-cart-drawer-body .woocommerce-mini-cart__buttons,
.pnova-cart-drawer-body .buttons {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 14px 0 20px;
}
.pnova-cart-drawer-body .woocommerce-mini-cart__buttons a.button,
.pnova-cart-drawer-body .buttons a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.pnova-cart-drawer-body a.button.wc-forward:not(.checkout) {
	background: #fff;
	color: #333;
	border: 1px solid #ddd;
}
.pnova-cart-drawer-body a.button.wc-forward:not(.checkout):hover {
	border-color: #123d29;
	color: #123d29;
}
.pnova-cart-drawer-body a.button.checkout.wc-forward {
	background: #211c18;
	color: #fff;
	border: 1px solid #211c18;
	gap: 8px;
}
.pnova-cart-drawer-body a.button.checkout.wc-forward::before {
	content: "";
	display: inline-flex;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M20 12c0-1.103-.897-2-2-2h-1V7c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9V7z'%3E%3C/path%3E%3C/svg%3E") 50% 50% / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M20 12c0-1.103-.897-2-2-2h-1V7c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9V7z'%3E%3C/path%3E%3C/svg%3E") 50% 50% / contain no-repeat;
}
.pnova-cart-drawer-body a.button.checkout.wc-forward:hover {
	background: #123d29;
	border-color: #123d29;
}

.pnova-cart-drawer-body .woocommerce-mini-cart__empty-message {
	padding: 30px 0;
	color: #5d5852;
	font-size: 14px;
	text-align: center;
}

@media (max-width: 480px) {
	.pnova-cart-drawer {
		width: 100vw;
		max-width: 100vw;
	}
}
