/**
 * Single Product Page
 */
.single-product #page #woocommerce-wrapper { // adding #content here to override default wc styles without !important

	div.product {

		div.images {
			margin-bottom: map-deep-get($config-global, "spacing", "vertical");

			div.thumbnails {
				padding-top: map-deep-get($config-global, "spacing", "unit");
			}

			.woocommerce-product-gallery__wrapper .zoomImg {
				background-color: map-deep-get($config-global, "color", "background", "default");
			}

			.woocommerce-product-gallery__image--placeholder {
				border-color: map-deep-get($config-global, "color", "border", "light");
			}

			.woocommerce-product-gallery__trigger {
				font-size: map-deep-get($config-global, "font", "size", "md");
				background: map-deep-get($config-global, "color", "background", "default");

				&::before {
					border-color: map-deep-get($config-global, "color", "border", "dark");
				}

				&::after {
					background-color: map-deep-get($config-global, "color", "border", "dark");
				}
			}
		}

		div.summary {

			margin-bottom: map-deep-get($config-global, "spacing", "vertical");

			span.price,
			p.price {
				color: map-deep-get($config-global, "color", "foreground", "dark");
				font-size: map-deep-get($config-global, "font", "size", "xl");
				line-height: map-deep-get($config-global, "font", "line-height", "heading");

				del {
					color: currentColor;
					opacity: 0.5;
					display: inline-block;
				}

				ins {
					background: none;
					font-weight: 700;
					display: inline-block;
				}

				.from {
					font-size: map-deep-get($config-global, "font", "size", "xs");
					color: map-deep-get($config-global, "color", "alert", "warning");
				}
			}

			p.stock {
				font-size: map-deep-get($config-global, "font", "size", "base")
			}

			.stock {
				color: map-deep-get($config-global, "color", "primary", "default");
			}

			.out-of-stock {
				color: red;
			}

			.entry-title + .woocommerce-product-rating {
				margin-top: #{-1 * map-deep-get($config-global, "spacing", "vertical")};
			}

		}

		.product_meta > * {
			display: block;
		}

		// Sale
		& > .onsale {
			right: auto;
			left: -0.5em;
		}

		&.sale div.summary .span.price,
		&.sale div.summary p.price {
			ins {
				color: map-deep-get($config-global, "color", "alert", "success");
			}
		}

		// Social
		div.social {
			margin-bottom: map-deep-get($config-global, "spacing", "vertical");
		}

		.up-sells {
			& > h2 {
				font-size: map-deep-get($config-global, "font", "size", "lg");
			}
		}

		// Add to cart form
		p.cart {
			margin-bottom: map-deep-get($config-global, "spacing", "vertical");
		}

		form.cart {

			.variations {
				margin-bottom: map-deep-get($config-global, "spacing", "unit");

				td,
				th {
					line-height: map-deep-get($config-global, "font", "line-height", "body");
				}

				select {
					margin-right: map-deep-get($config-global, "spacing", "unit");
				}

				td.label {
					padding-right: map-deep-get($config-global, "spacing", "unit");
				}
			}

			.woocommerce-variation-description p {
				margin-bottom: map-deep-get($config-global, "spacing", "unit");
			}

			.reset_variations {
				font-size: map-deep-get($config-global, "font", "size", "sm");
			}

			.group_table {

				td.woocommerce-grouped-product-list-item__label {
					padding-right: map-deep-get($config-global, "spacing", "unit");
					padding-left: map-deep-get($config-global, "spacing", "unit");
				}

				td {
					padding-bottom: map-deep-get($config-global, "spacing", "unit");
				}
			}

			div.quantity,
			button {

				float: inherit;
				display: inline-block;
				vertical-align: middle;

				&.hidden {
					display: none;
				}
			}
		}

		.woo_pp_cart_buttons_div {
			text-align: left;
			.wcppec-checkout-buttons__button {
				padding-top: 0;
			}
		}
	}
}
