.final_cart {
	width: 100%;
	height: auto;
	overflow: auto;
	box-sizing: border-box;

	@media screen and (max-width: 500px) {
		padding: 0;
	}
	@media screen and (min-width: 501px) and (max-width: 800px) {
		padding: 20px 0;
	}
	@media screen and (min-width: 801px) {
		padding: 50px 0 0 0;
	}

	.wrap, >.wrap {
		margin: 0 auto;
		width: 100%;
		height: 100%;
		overflow: auto;
		max-width: 1000px;
		box-sizing: border-box;
		background-color: #ffffff;
	}

	a {
		text-decoration: none;
	}

	h1 {
		width: 100%;
		text-align: center;
		border-bottom: 1px solid rgba(31, 0, 83, 0.2);

		@media screen and (max-width: 500px) {
			font-size: 17px;
			margin: 0;
			padding: 10px 0;
		}
		@media screen and (min-width: 501px) and (max-width: 800px) {
			font-weight: normal;
			font-size: 20px;
			margin: 0;
			height: 40px;
			line-height: 40px;
		}
	}

	main {
		float: left;

		@media screen and (max-width: 500px) {
			width: 100%;
			height: auto;
			padding: 10px;
			box-sizing: border-box;
			border: 1px solid rgba(31, 0, 83, 0.2);
		}
		@media screen and (min-width: 501px) and (max-width: 800px) {
			width: 100%;
			height: auto;
			overflow: auto;
			padding: 0 2%;
			box-sizing: border-box;
			border: 1px solid rgba(31, 0, 83, 0.2);
		}
		@media screen and (min-width: 801px) {
			width: 65%;
		}

		h1 {
			@media screen and (min-width: 801px) {
				font-size: 20px;
				margin: 0;
				padding: 10px 0;
			}
		}

		.headers {
			display: flex;
			width: 100%;
			margin: 0 0 6px 0;
			padding: 0;
			box-sizing: border-box;

			p {
				margin: 0;
				padding: 4px 0;
				text-align: center;
				font-size: 10px;
				font-weight: bold;
				text-transform: uppercase;
				letter-spacing: 0.5px;
				color: #888;

				&:nth-of-type(1) {
					width: 17%;
					text-align: left;
				}
				&:nth-of-type(2) {
					width: 50%;
					text-align: left;
					padding-left: 12px;
				}
				&:nth-of-type(3) {
					width: 8%;
				}
				&:nth-of-type(4) {
					width: 25%;
				}
			}
		}

		.details {
			width: 100%;
			padding: 0;
			box-sizing: border-box;

			@media screen and (min-width: 501px) {
				overflow: auto;
			}

			.item {
				border: solid 1px rgba(31, 0, 83, 0.15);
				border-radius: 6px;
				margin-bottom: 8px;
				background-color: #fff;

				@media screen and (max-width: 500px) {
					margin-bottom: 5px;
				}
				@media screen and (min-width: 501px) and (max-width: 800px) {
					border-radius: 0;
					border-left: none;
					border-right: none;
					border-top: none;
					margin-bottom: 0;
				}

				> .innr {
					display: flex;
					align-items: stretch;
					min-height: 90px;
					text-decoration: none;
				}

				.image {
					width: 17%;
					aspect-ratio: 1 / 1;
					object-fit: cover;
					flex-shrink: 0;
					align-self: flex-start;
					border-radius: 5px 0 0 5px;
				}

				.info {
					width: 50%;
					padding: 10px 12px;
					box-sizing: border-box;
					display: flex;
					flex-direction: column;
					justify-content: center;

					p {
						margin: 0;
						color: #1f0053;
					}

					.brand {
						font-size: 10px;
						font-weight: bold;
						text-transform: uppercase;
						letter-spacing: 0.5px;
						color: #888;
						margin-bottom: 2px;
					}

					.vrnt_name {
						font-size: 13px;
						font-weight: bold;
						color: #1f0053;
						margin-bottom: 2px;
					}

					.vrnt_description {
						font-size: 11px;
						color: #888;
						margin-top: 3px;
						display: -webkit-box;
						-webkit-line-clamp: 2;
						-webkit-box-orient: vertical;
						overflow: hidden;
					}

					.edit_item {
						margin-top: 8px;

						button {
							background: none;
							border: none;
							outline: none;
							padding: 0;
							color: #c0392b;
							font-size: 9px;
							font-weight: bold;
							letter-spacing: 0.5px;
							text-transform: uppercase;
							cursor: pointer;

							&:hover {
								color: #922b21;
							}
						}
					}
				}

				.quantity {
					width: 8%;
					display: flex;
					flex-direction: column;
					align-items: stretch;
					justify-content: space-between;
					border-left: solid 1px rgba(31, 0, 83, 0.15);
					box-sizing: border-box;

					.qty_num {
						flex: 1;
						display: flex;
						align-items: center;
						justify-content: center;
						text-align: center;
						font-size: 13px;
						font-weight: bold;
						color: #1f0053;
					}

					.qty_btn {
						border: none;
						outline: none;
						padding: 6px 0;
						width: 100%;
						background-color: #050068;
						font-size: 13px;
						text-align: center;
						color: white;
						cursor: pointer;
						line-height: 1;

						&:hover {
							background-color: #007c9a;
						}
					}
				}

				.total {
					width: 25%;
					display: flex;
					align-items: center;
					justify-content: center;
					border-left: solid 1px rgba(31, 0, 83, 0.15);
					box-sizing: border-box;
					text-align: center;
					font-size: 15px;
					font-weight: bold;
					color: #1f0053;

					sup {
						font-size: 10px;
						vertical-align: super;
						font-weight: normal;
					}
				}

				&.bundle_items {
					height: auto;
					overflow: auto;
					border: solid 1px rgba(0, 0, 0, 0.18);
					box-sizing: border-box;

					.top_info {
						width: 100%;
						overflow: auto;
						background-color: rgba(94, 94, 183, 0.22);
						position: relative;

						.bundle_title {
							font-weight: bold;
							font-size: 12px;
							width: 100%;
							overflow: auto;
							padding: 5px;
							box-sizing: border-box;
							text-align: center;
						}
					}
					.bundle_breakdown {
						background-color: yellow;
						font-size: 11px;
						width: 100%;
						overflow: auto;
						padding: 5px;
						box-sizing: border-box;
						display: flex;
						justify-content: space-between;
						align-items: stretch;

						.spacer {
							width: 1px;
							background-color: #d4dd00;
						}
						.numbers {
							width: auto;
							line-height: 13px;
							padding: 0px 5px;
							box-sizing: border-box;
						}
						.remove_bundle {
							background-color: #d4d4d4;
							font-size: 10px;
							text-transform: uppercase;
							text-align: center;
							padding: 7px 12px;
							box-sizing: border-box;
							border-radius: 0;
						}
					}

					.bundle_items_box {
						width: 100%;
						float: left;
						overflow: auto;
						padding: 2.5px;
						box-sizing: border-box;

						.bundle_item {
							float: left;
							height: auto;
							padding: 2.5px;
							box-sizing: border-box;
							width: 100%;

							> .innr {
								overflow: auto;
								width: 100%;

								@media screen and (min-width: 801px) {
									display: flex;
									flex-wrap: nowrap;
									justify-content: flex-start;
								}
							}
							img {
								float: left;
								aspect-ratio: 1 / 1;
								border: 1px solid rgba(0, 0, 0, 0.25);
								box-sizing: border-box;
								@media screen and (max-width: 500px) {
									width: 10%;
								}
								@media screen and (min-width: 801px) {
									width: 100px;
								}
							}
							.variant_info {
								@media screen and (min-width: 801px) {
									float: left;
									padding: 0 5px;
								}

								.variant_name {
									font-size: 12px;
									float: left;
									width: 85%;
									padding: 0 5px;
									box-sizing: border-box;
								}
								.price {}
							}
						}
					}
				}
			}
		}
	}

	aside {
		height: 100%;
		box-sizing: border-box;

		@media screen and (max-width: 500px) {
			float: right;
			width: 100%;
			padding: 0 2%;
			background-color: #030039;
		}
		@media screen and (min-width: 501px) and (max-width: 800px) {
			float: right;
			width: 100%;
			padding: 0 20%;
			background-color: #030039;
		}
		@media screen and (min-width: 801px) {
			float: left;
			width: 35%;
			padding: 0 2%;
		}

		h1 {
			text-align: center;
			border-bottom: 1px solid rgba(255, 255, 255, 0.44);

			@media screen and (max-width: 800px) {
				color: white;
			}
			@media screen and (min-width: 801px) {
				margin: 0px;
				padding: 10px 0;
			}
		}

		.free_shipn {
			width: 100%;
			display: block;
			text-align: center;
			background-color: #34008d;
			padding: 10px;
			box-sizing: border-box;
			line-height: 16px;
			color: white;

			@media screen and (max-width: 500px) {
				margin: 30px 0 0 0;
				font-size: 14px;
			}
			@media screen and (min-width: 501px) and (max-width: 800px) {
				margin: 30px 0 0 0;
				font-size: 13px;
			}
			@media screen and (min-width: 801px) {
				margin: 0;
				font-size: 14px;
			}
		}

		.info {
			@media screen and (min-width: 801px) {
				overflow: auto;
				width: 100%;
				background-color: #030039;
			}

			p {
				color: white;
				margin: 5px 0;
				text-align: center;

				&.amount {
					font-size: 15px;
					margin: 10px 0 0 0;
				}
				&.subtotal {
					font-size: 18px;
					font-weight: bold;
				}
			}

			a.total {
				display: block;
				text-align: center;
				border: 1px solid #1f0053;
				padding: 10px 0;
				background-color: #ffd200;
				color: #1f0053;
				font-weight: bold;
				margin-bottom: 10px;

				@media screen and (max-width: 500px) {
					font-size: 16px;
				}
				@media screen and (min-width: 501px) and (max-width: 800px) {
					font-size: 13px;
				}
				@media screen and (min-width: 801px) {
					font-size: 16px;
				}

				&:hover {
					background-color: #e6a800;
				}
			}

			a:active {
				background-color: #ffce00;
				-webkit-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
				-moz-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
				box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.6);
			}
		}
	}
}

/*empty cart*/
section.empty_cart {
	height: 450px;
	box-sizing: border-box;
	padding: 50px 0;
	overflow: auto;

	@media screen and (max-width: 800px) {
		width: 90%;
		margin: 0 auto;
	}
	@media screen and (min-width: 801px) {
		width: 100%;
	}

	.wrap {
		margin: 0 auto;
		width: 100%;
		height: 100%;
		overflow: auto;
		box-sizing: border-box;
		background-color: rgba(3, 0, 57, 0.1);
		border: 1px solid #c5c8d8;
		border-radius: 30px;

		@media screen and (max-width: 500px) {
			max-width: 800px;
		}
		@media screen and (min-width: 501px) {
			max-width: 600px;
		}

		.logo {
			height: 150px;
			width: 150px;
			margin: 0 auto;
			background-image: url(../images/no_prod_image.png);
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
		}

		h1 {
			text-align: center;
			margin: 15px;
			@media screen and (max-width: 500px) {
				font-size: 29px;
			}
			@media screen and (min-width: 501px) {
				font-size: 40px;
			}
		}

		a {
			text-align: center;
			display: block;
			text-decoration: none;
			font-weight: bold;
			color: #030039;
		}
	}
}