.fly-cart {
	position: fixed;
	top: 40px;
	right: 20px;
	z-index: 999998;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	padding: 15px;
	border: 0;
	border-radius: 10%;
	background: #feffff;
	box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.7);
	color: #fff;
	cursor: pointer;
}

.fly-cart-icon {
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.fly-cart-count {
	position: absolute;
	top: -10px;
	right: -10px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 30px;
	padding: 0 6px;
	border-radius: 999px;
	background: #fe9900;
	color: #fff;
	font-family: sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.cart-popup[hidden] {
	display: none !important;
}

.cart-popup {
	position: fixed;
	top: 110px;
	right: 20px;
	z-index: 999999;
	width: min(520px, calc(100vw - 40px));
	max-height: calc(100vh - 140px);
	overflow: auto;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}

.cart-popup-content {
	position: relative;
	padding: 20px;
}

.shopping-cart {
	position: relative;
	display: flex;
	flex-direction: column;
}

.close-btn {
	position: absolute;
	top: -10px;
	right: -10px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 1px solid #fff;
	border-radius: 50%;
	background: #6c6e6f;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.title {
	padding: 10px 14px;
	border-bottom: 1px solid #e1e8ee;
	color: #43484d;
	font-size: 18px;
	font-weight: 600;
}

.products-container {
	max-height: 360px;
	overflow-y: auto;
}

.cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 60px minmax(100px, 1fr) auto auto;
	gap: 12px;
	align-items: center;
	padding: 12px;
	border-bottom: 1px solid #e1e8ee;
}

.cart-item.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

.product-image img {
	display: block;
	width: 60px;
	height: auto;
}

.description {
	min-width: 0;
}

.item-heading {
	display: block;
	overflow-wrap: anywhere;
	color: #43484d;
}

.quantity {
	display: flex;
	align-items: center;
	gap: 5px;
}

.quantity button,
.quantity input {
	width: 30px;
	height: 30px;
	box-sizing: border-box;
	text-align: center;
}

.remove-item {
	border: 0;
	border-radius: 4px;
	background: #eee;
	color: #a00;
	cursor: pointer;
}

.total-price {
	white-space: nowrap;
	color: #43484d;
}

.cart-summary {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 15px;
}

.cart-summary .subtotal,
.cart-summary .total {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 10px 12px;
	border-radius: 6px;
	background: #f6f7f7;
}

.cart-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.cart-buttons .button {
	flex: 1 1 180px;
	padding: 10px 14px;
	border-radius: 6px;
	background: #7ec855;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

.egsflcap-empty-cart {
	padding: 35px 10px 15px;
	text-align: center;
}

@media (max-width: 600px) {
	.fly-cart {
		top: 20px;
		right: 12px;
	}

	.cart-popup {
		top: 90px;
		right: 10px;
		width: calc(100vw - 20px);
		max-height: calc(100vh - 105px);
	}

	.cart-item {
		grid-template-columns: 52px 1fr;
	}

	.quantity,
	.total-price {
		grid-column: 2;
	}
}
