.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle {
	font-size: 16px;
	margin-bottom: 5px;
}

.woocommerce-form-coupon-toggle {
	margin-bottom: 25px;
}

.woocommerce-form__label-for-checkbox {
	cursor: pointer;
}

#order_comments {
	height: 100px;
}

#ship-to-different-address-checkbox {
	top: -3px;
}

.woocommerce-checkout {
	input[type='text'],
	input[type='email'],
	input[type='url'],
	input[type='password'],
	input[type='search'],
	input[type='number'],
	input[type='tel'],
	select,
	textarea,
	.woocommerce .select2-container--default .select2-selection--single,
	.woocommerce .select2-container--default .select2-search--dropdown .select2-search__field,
	.elementor-field-group .elementor-field-textual {
		background: #f5f5f5;
		border-color: #f5f5f5;

		&:focus {
			box-shadow: 0 2px 20px rgba(0, 0, 0, .05);
		}
	}

	.checkout_coupon {
		margin-bottom: 30px;

		.form-group {
			width: 370px;
			position: relative;
		}
	}

	#customer_details {
		margin-bottom: 55px;
	}

	abbr.required {
		border: 0;
		text-decoration: none;
	}

	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields {
		.form-row {
			> label {
				display: inline-block;
				color: #696969;
				font-size: 13px;
				font-weight: 500;
				text-transform: uppercase;
				letter-spacing: 1px;
				margin-bottom: 9px;
			}
		}
	}

	form {
		.form-row {
			&.form-row-first,
			&.form-row-last {
				width: 50%;
			}

			&.form-row-first {
				padding-right: 10px;
				float: left;
			}

			&.form-row-last {
				padding-left: 10px;
				float: right;
			}
		}
	}

	// Hide Block UI
	.checkout-order-review-wrap {
		.blockUI {
			opacity: 0 !important;
		}
	}

	// Order summary.
	.shop_table {
		margin-bottom: 0;

		thead {
			display: none;
		}

		th {
			font-size: 15px;
			font-weight: 400;
		}

		.product-total {
			text-align: right;

			.amount {
				font-size: 15px;
			}
		}

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

		td {
			padding: 12px 10px 12px 0;

			&:last-child {
				padding-left: 10px;
				padding-right: 0;
			}
		}

		tr {
			border-top: 1px solid #eee;

			&:not(.order-total ) {
				th {
					color: #696969;
				}
			}
		}

		tbody {
			td {
				padding: 20px 10px 20px 0;
				vertical-align: top;
			}
		}

		.product-wrapper {
			display: flex;
		}

		.product-quantity {
			color: #9b9b9b;
		}

		.product-thumbnail {
			flex-shrink: 0;
			margin-right: 20px;

			img {
				width: 80px;
				border-radius: 5px;
			}
		}

		tfoot {
			td {
				text-align: right;
			}
		}

		.woocommerce-shipping-methods {
			margin-bottom: 0;

			li {
				margin: 0;
			}
		}

		.woocommerce-shipping-totals {
			.amount {
				font-size: 15px;
				color: #696969;
			}
		}

		.order-total {
			th {
				font-weight: 700;
			}

			.amount {
				font-size: 20px;
			}
		}
	}

	.payment_methods {
		border: 0;
		padding: 0;
		margin: 0 0 10px;
		list-style-type: none;

		li {
			margin: 0 0 20px;

			&:last-child {
				margin-bottom: 0;
			}
		}
	}

	.wc_payment_methods {
		border-bottom: 1px solid #eee;
		padding-bottom: 40px;
		margin: 0 0 30px;

		.form-row {
			&:last-child {
				margin-bottom: 0;
			}
		}
	}

	.wc_payment_method {
		.payment-image-active {
			display: none;
		}

		.payment-image-wrap {
			display: inline-block;
			min-width: 80px;
			flex-shrink: 0;
		}

		&.payment-selected {
			.payment-image-normal {
				display: none;
			}

			.payment-image-active {
				display: inline-block;
			}

			.payment_title {
				label {
					background: #edf4fe;
					border-color: #edf4fe;
					color: #387aff;
				}
			}
		}

		fieldset {
			border: 1px solid #e0e0e0;
			border-radius: 5px;
			margin-bottom: 20px;
		}
	}

	.wc-stripe-elements-field,
	.wc-stripe-iban-element-field {
		padding: 3px 20px;
		min-height: 48px;
		line-height: 48px;
		border-radius: $form-input-radius;
		background: #f5f5f5;
		border-color: #f5f5f5;
		color: #ababab;
	}

	.__PrivateStripeElement {
		display: flex !important;
		align-items: center;
		height: 42px;
	}

	.card-element {
		font-size: 13px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 1px;
		color: #696969;
	}

	.payment_title {
		.input-radio {
			position: fixed;
			top: -9999px;
			left: -9999px;
			opacity: 0;
		}

		label {
			display: flex;
			align-items: center;
			cursor: pointer;
			padding: 13px 20px;
			border-radius: 5px;
			background: none;
			border: 1px solid #e0e0e0;
			text-transform: none;
			font-size: 18px;
			font-weight: 500;
			color: #696969;
			min-height: 80px;

			img {
				vertical-align: middle;
				margin-right: 11px;
			}
		}
	}

	.payment_box {
		position: relative;
		padding: 20px 0 0;
	}

	.payment_method_ppec_paypal {
		img {
			vertical-align: middle;
			margin-left: 10px;
		}
	}

	.place-order {
		margin: 0 !important;
		padding: 0;
	}

	.woocommerce-terms-and-conditions-wrapper {
		margin-bottom: 40px;
	}
}

.button.btn-apply-coupon {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
	font-size: 0;
	background: none;
	border-color: transparent;
	width: 60px;
	line-height: 48px;

	.btn-icon {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 22px;
	}
}

.checkout-order-review-wrap {
	background: #f8f8f8;
	padding: 30px;
	margin-left: 30px;
}

#place_order {
	min-width: 178px;
}

.cart_totals > h2,
.woocommerce-additional-fields > h3,
#order_review_heading,
#ship-to-different-address,
.woocommerce-billing-fields > h3,
.checkout-payment-info-heading {
	margin-bottom: 24px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
}

#order_review_heading {
	margin-bottom: 17px;
}

.checkout-payment-info-heading {
	padding-top: 46px;
	border-top: 1px solid #eee;
	margin-bottom: 32px;
}
