.woocommerce {
	a.remove {
		color: #d8d8d8 !important;

		&:hover {
			background: none;
			color: #222 !important;
		}

		span {
			font-size: 24px;
		}
	}

	table.shop_table {
		border: 0;
		border-collapse: collapse;

		td, th {
			border: 0;
			background: none;
			text-align: left;
		}

		thead {
			border-radius: 4px;

			tr {
				border-bottom: 1px solid #ededed;
			}

			th {
				padding: 20px 0;
				text-transform: uppercase;
				font-weight: 600;
				font-size: 14px;
				line-height: 1.2;

				&.product-remove {
					width: 40px;
				}

				&.product-thumbnail {
					width: 110px;
				}
			}
		}

		tbody,
		tfoot {
			th, td {
				padding: 15px 0;
				border: 0;
			}

			tr {
				border-bottom: 1px solid #ededed;
			}
		}
	}

	.cart.shop_table {
		margin-bottom: 95px;
		border: 0;
		border-collapse: collapse;

		td, th {
			border: 0;
			text-align: left;
		}

		thead {
			border-radius: 4px;
		}

		th {
			padding: 20px 0;
			text-transform: uppercase;
			font-weight: 600;
			font-size: 14px;
			line-height: 1.2;

			&.product-remove {
				width: 40px;
			}

			&.product-thumbnail {
				width: 110px;
			}
		}

		td {
			padding: 30px 0;

			&.product-name {
				h6 {
					margin-bottom: 0;
				}

				a {
					font-size: 16px;
					color: inherit;
				}
			}

			&.product-subtotal {
				.amount {
					font-weight: 600;
				}
			}
		}
		tbody {
			tr {
				+ tr {
					border-top: 1px solid #ededed;
				}
			}
		}

	}

	table.woocommerce-checkout-review-order-table {
		margin: 0 0 70px;

		tfoot {
			th {
				text-transform: uppercase;
				font-size: 14px;
				font-weight: 600;
			}
		}

		td {
			.shipping-method-label {
				color: #f00;
				font-weight: 600;
			}
		}
	}

	#coupon_code {
		margin: 0 10px 0 0;
		width: 320px;
		height: 55px;
	}

	.cart-collaterals {
		.cart_totals {
			width: 100%;
			max-width: 600px;

			.shop_table {
				margin-bottom: 30px;
				border: 0;
				border-collapse: collapse;

				th {
					vertical-align: middle;
					text-transform: uppercase;
					font-weight: 600;
					font-size: 14px;
					line-height: .9;
				}

				th, td {
					padding: 15px 0;
					border: 0;
					background: none;
					text-align: left;
				}

				tr {
					border-top: 1px solid #ededed;
					border-bottom: 1px solid #ededed;
				}
			}
		}

		.order-total {
			.amount {
				font-weight: 600;
			}
		}
	}

	.woocommerce-shipping-calculator {
		p {
			margin-bottom: 10px;
		}

		#calc_shipping_state_field {
			margin-bottom: 0;
		}
	}
}

body.woocommerce-cart {
	table.cart {
		td.actions {
			.coupon {
				.input-text {
					border-color: #efefef;
					padding: 3px 20px;
				}
			}
		}
	}

	.cross-sells {
		margin-bottom: 60px;
	}

	.wc-proceed-to-checkout {
		padding: 0;
		text-align: right;

		a {
			display: inline-block;
			text-align: center;
			margin-bottom: 30px;
		}

		.wc-return-shop {
			min-width: 238px;
		}

		a.checkout-button {
			display: inline-block;
			margin-bottom: 0;
			margin-left: 6px;
			min-width: 170px;
		}
	}
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3,
.woocommerce-checkout #ship-to-different-address,
.cart_totals > h2 {
	margin-bottom: 40px;
	font-size: 24px;
}

#add_payment_method,
.woocommerce-cart,
.woocommerce-checkout {
	table.cart {
		img {
			width: 80px;
		}
	}
}

.woocommerce-form-login {
	.button {
		min-width: 140px;
	}
}

@include media-breakpoint-down(sm) {

	.woocommerce,
	.woocommerce-page {

		table.shop_table_responsive {
			tr:nth-child(2n) td,
			tr:nth-child(2n) td {
				background: none;
			}
		}

		.cart-collaterals {
			.cart_totals {
				.shop_table {
					tr {
						border-top: 0;
						&:first-child {
							border-top: 1px solid #ededed;
						}
					}
				}
			}
		}
	}

	.woocommerce {
		table.shop_table {
			tbody {
				tr {
					border-bottom: 0;

					+ tr {
						padding: 15px 0;
					}
				}
			}
			tfoot {
				tr {
					border-bottom: 0;
				}
			}
		}

		#coupon_code {
			margin-bottom: 10px;
			width: 100%;
		}

		.cart {
			&.shop_table {
				td {
					padding: 10px 0;

					&.product-subtotal {
						clear: both;
					}
				}

				.product-quantity {
					&:after {
						display: table;
						clear: both;
						content: '';
					}
				}

				.quantity {
					float: right;
				}
			}
		}
	}

	.woocommerce-page {
		table.cart {
			td.actions {
				.coupon {
					padding-bottom: 10px;
					.input-text {
						+ .button {
							float: none;
							width: 100%;
						}
					}
				}
			}
		}
	}

	.cart-shipping {
		margin-bottom: 60px;
	}

	.woocommerce-checkout {
		.woocommerce-checkout {
			margin-top: 50px;
		}

		#customer_details {
			margin-bottom: 30px;
			.col-1 {
				margin-bottom: 30px;
			}
		}

		form {
			.form-row {
				&.form-row-first,
				&.form-row-last {
					padding: 0;
					width: 100%;
				}
			}
		}
	}
}
