/**
 * WooCommerce
 */

/**
 * Imports
 */
@import 'bourbon';
@import '../../../sass/utils/variables';
@import '../../../sass/utils/mixins';
@import '../../../node_modules/susy/sass/susy';

// Star font, FontAwesome doesn't work :(
@font-face {
	font-family: 'star';
	src: url('../../../../../plugins/woocommerce/assets/fonts/star.eot');
	src: url('../../../../../plugins/woocommerce/assets/fonts/star.eot?#iefix') format('embedded-opentype'),
		url('../../../../../plugins/woocommerce/assets/fonts/star.woff') format('woff'),
		url('../../../../../plugins/woocommerce/assets/fonts/star.ttf') format('truetype'),
		url('../../../../../plugins/woocommerce/assets/fonts/star.svg#star') format('svg');
	font-weight: normal;
	font-style: normal;
}

/**
 * Header Elements
 */
.woocommerce-active {
	.site-header {
		.col-full {
			position: relative;
		}
	}

	.site-branding,
	.site-logo-anchor {
		float: left;
	}
}

.site-header-cart {
	list-style-type: none;
	margin-left: 0;
	padding: 0;

	.cart-contents {
		display: block;
		height: 2.244em;
		width: 2.244em;
		position: absolute;
		top: 0;
		right: 0;
		background-color: rgba(0,0,0,0.05);
		text-indent: -9999px;

		&:after {
			content: "\f07a";
			font-family: "FontAwesome";
			position: absolute;
			top: 0;
			right: 0;
			line-height: 2.244;
			width: 100%;
			text-align: center;
			text-indent: 0;
		}

		span {
			display: none;
		}
	}

	.widget_shopping_cart {
		display: none;
		background-color: #2c2d33;
	}
}

.site-search {
	font-size: .857em;
	clear: both;

	.widget_product_search {
		input[type=text],
		input[type=search] {
			padding: 1.387em 1.618em;
			line-height: 1;
			padding-left: 3.631em;
		}

		form {
			&:before {
				top: 1.387em;
				left: 1.618em;
			}
		}

		#searchsubmit {
			@include screen-reader-text();
		}
	}
}

/**
 * Shop tables
 */
table.shop_table_responsive {
	thead {
		display: none;
	}

	tbody {
		th {
			display: none;
		}
	}

	tr {
		td {
			display: block;

			&:before {
				content: attr(data-title) ': ';
				font-weight: 700;
			}
		}
	}
}

/**
 * Products
 */
ul.products {
	margin-left: 0;
	clear: both;
	@include clearfix;

	li.product {
		list-style: none;
		margin-left: 0;
		margin-bottom: 4.236em;
		text-align: center;
		position: relative;

		.star-rating,
		.price {
			margin: 0 auto 1em;
		}

		.price {
			display: block;
			color: $color_body;
			font-weight: 400;

			ins {
				font-weight: 700;
				margin-left: .618em;
				background-color: transparent;
			}
		}

		h3 {
			font-size: 1.1em;
		}

		.star-rating {
			font-size: .857em;
		}

		img {
			display: block;
			margin: 0 auto 1.618em;
		}

		&.product-category {
			img {
				margin-bottom: 1.618em;
			}
		}

		.button {
			margin-bottom: .236em;
		}
	}
}

/**
 * Single Product
 */
.single-product {
	div.product {
		@include clearfix;
		position: relative;
		overflow: hidden;

		.images,
		.summary {
			margin-bottom: 2.618em;
			margin-top: 0;
		}

		.images {
			.woocommerce-main-image {
				margin-bottom: 1.618em;
				display: block;
			}

			.thumbnails {
				a.zoom {
					display: block;
					width: 22.05%;
					margin-right: 3.8%;
					float: left;
					margin-bottom: 1em;

					&.last {
						margin-right: 0;
					}

					&.first {
						clear: both;
					}
				}
			}
		}

		form.cart {
			@include clearfix;
			margin-bottom: 1.618em;
			padding: 1.618em 0;
			border-top: 3px solid rgba(0,0,0,0.025);
			border-bottom: 3px solid rgba(0,0,0,0.025);

			.quantity {
				float: left;
			}

			.button {
				float: right;
			}
		}

		.price {
			font-weight: 700;
		}

		table.variations {
			margin: 0;

			th,
			td {
				display: list-item;
				padding: 0;
				list-style: none;
				background-color: transparent;
			}

			.value {
				margin-bottom: 1em;
			}
		}

		.single_variation {
			.price {
				margin-bottom: 1em;
				display: block;
			}
		}

		.variations_button {
			@include clearfix;
			padding-top: 1em;
			border-top: 1px solid $color_border;
		}

		.woocommerce-product-rating {
			margin-bottom: 2.618em;
			@include clearfix;
			line-height: 1;
			border-bottom: 1px solid $color_border;
			padding: 0 0 1.618em;
			margin-top: -.618em;

			a {
				font-size: .857em;
			}

			.star-rating {
				float: right;
			}
		}

		.product_meta {
			font-size: .857em;

			.sku_wrapper,
			.posted_in,
			.tagged_as {
				border-bottom: 1px dotted $color_border;
				display: block;
				padding: .53em 0;

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

		p.stock {
			&:before {
				font-family: "FontAwesome";
				margin-right: .53em;
			}

			&.in-stock:before {
				content: "\f118";
			}

			&.out-of-stock:before {
				content: "\f119";
			}
		}
	}
}

/**
 * Reviews
 */
#reviews {
	#comments {
		padding-top: 0;
	}

	.commentlist {
		list-style: none;
		margin-left: 0;

		li {
			border-bottom: 1px solid $color_border;
			margin-bottom: 3.631em;
			list-style: none;
			clear: both;

			time {
				opacity: 0.8;
			}

			.avatar {
				float: right;
				width: 2.618em;
				height: auto;
			}

			p.meta {
				margin-bottom: 1em;
			}

			.description {
				padding-bottom: 1.618em;
			}

			ul.children {
				border-top: 1px solid $color_border;
				@include span(last 5 of 6);
				padding-top: 2.618em;
			}
		}
	}

	.comment-form-rating {
		clear: both;
	}
}

/**
 * Breadcrumbs
 */
.woocommerce-breadcrumb {
	margin-bottom: 4.236em;
	font-size: .857em;
	padding: 1em 0;
	border-bottom: 1px solid rgba(0,0,0,0.05);

	a.home {
		&:before {
			content: "\f015";
			font-family: "FontAwesome";
			font-weight: 400;
			margin-right: .53em;
		}
	}
}

/**
 * Widgets
 */
.product_list_widget {
	list-style: none;
	margin-left: 0;

	li {
		padding: 1em 0;
		border-bottom: 1px dotted $color_border;
		@include clearfix;

		img {
			max-width: 2.618em;
			float: right;
		}

		.quantity {
			display: block;
		}
	}

	a {
		&:hover {
			color: $color_links;
		}
	}
}

.widget_products {
	a {
		display: block;
	}
}

.widget_shopping_cart {
	.product_list_widget {
		margin-bottom: 0;

		li {
			padding-left: 2em;
			position: relative;

			a.remove {
				position: absolute;
				top: 1em;
				left: 0;
				opacity: 1;
			}
		}
	}

	p.total,
	p.buttons {
		padding: 1em 0;
		margin: 0;
		text-align: center;
	}

	p.total {
		border-bottom: 1px solid $color_border;
	}
}

.widget_product_categories {
	ul {
		margin: 0;

		li {
			list-style: none;
			margin-bottom: .618em;

			&:before {
				font-family: "FontAwesome";
				margin-right: .53em;
				display: inline-block;
				opacity: 0.25;
				content: "\f114";
			}

			&.current-cat {
				&:before {
					content: "\f115";
				}
			}
		}
	}

	.children {
		margin-top: .618em;
		margin-left: 1.618em;
	}
}

.site-header {
	.widget_shopping_cart {
		p.total,
		p.buttons,
		li {
			padding-left: 1.387em;
			padding-right: 1.387em;
			background-color: rgba(0, 0, 0, 0.025);
		}
	}
}

.widget_layered_nav {
	li {
		margin-bottom: .618em;

		&:before {
			font-family: "FontAwesome";
			margin-right: .53em;
			display: inline-block;
			opacity: 0.35;
			content: "\f0c8";
		}
	}

	.chosen {
		&:before {
			content: "\f14a";
		}
	}
}

.widget.woocommerce {
	li {
		.count {
			font-size: 1em;
			float: right;
		}
	}
}

.widget_price_filter {
	.price_slider {
		margin-bottom: 1em;
	}

	.price_slider_amount {
		text-align: right;
		line-height: 2.4em;

		.button {
			float: left;
		}
	}

	.ui-slider {
		position: relative;
		text-align: left;
	}

    .ui-slider .ui-slider-handle {
		position: absolute;
		z-index: 2;
		width: 1em;
		height: 1em;
		@include border-top-radius(1em);
		@include border-bottom-radius(1em);
		cursor: ew-resize;
		outline: none;
		background: $color_links;
		box-sizing: border-box;
		margin-top: -.25em;
		opacity: 1;

		&:last-child {
			margin-left: -1em;
		}

		&:hover,
		&.ui-state-active {
			box-shadow: 0 0 0 .236em rgba(#000, 0.1);
		}
	}

    .ui-slider .ui-slider-range {
		position: absolute;
		z-index: 1;
		font-size: .7em;
		display: block;
		border: 0;
		background: $color_links;
		@include border-top-radius(1em);
		@include border-bottom-radius(1em);
	}

    .price_slider_wrapper .ui-widget-content {
		@include border-top-radius(1em);
		@include border-bottom-radius(1em);
		background: rgba(0,0,0,0.1);
	}

    .ui-slider-horizontal {
		height: .5em;
	}

    .ui-slider-horizontal .ui-slider-range {
		top: 0;
		height: 100%;
	}

    .ui-slider-horizontal .ui-slider-range-min {
		left: -1px;
	}

   .ui-slider-horizontal .ui-slider-range-max {
		right: -1px;
	}
}

/**
 * Cart
 */
table.cart {
	margin-bottom: 3.631em;

	thead {
		text-indent: -999em;

		th {
			padding: 0;
		}
	}

	.product-thumbnail,
	.product-quantity .plus,
	.product-quantity .minus {
		display: none;
	}

	td,
	th {
		padding: .53em;
	}

	.qty {
		padding: .236em;
		max-width: 1.618em;
	}

	td.actions {
		label {
			display: none;
		}

		.coupon {
			padding-bottom: 1em;
			margin-bottom: 1em;
			border-bottom: 1px dotted $color_border;
		}

		input {
			display: block;
			width: 100%;
			margin: .236em 0;
		}
	}
}

.wc-proceed-to-checkout {
	@include clearfix;
	margin-bottom: 1.618em;

	.button {
		display: block;
		text-align: center;
		margin-bottom: 1em;

		&.checkout-button {
			font-size: 1.387em;
		}
	}
}

ul#shipping_method {
	margin: 0;
	list-style: none;
}

a.remove {
	display: block;
	width: 1.618em;
	height: 1.618em;
	line-height: 1.618;
	font-weight: 400;
	text-indent: -9999px;
	position: relative;

	&:before {
		content: "\f057";
		font-family: 'FontAwesome';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		color: $error;
		line-height: 1.618;
		text-indent: 0;
		text-align: center;
		font-weight: 400;
	}
}

/**
 * Checkout
 */
.checkout_coupon {
	margin-bottom: 2.618em;
}

form.checkout {
	@include clearfix;
}

#payment {
	@include clearfix;
	border-top: 3px solid $color_border;

	.create-account {
		clear: both;
	}

	.payment_methods {
		margin: 0 !important;
		border-bottom: 1px dotted $color_border;
		padding: 0 !important;

		li {
			list-style: none !important;
			padding: 1.387em !important;
			border-bottom: 1px dotted $color_border;
			margin-left: 0;

			img {
				float: right;
				border: 0;
				padding: 0;
				max-height: 1.618em;
			}

			&:last-child {
				padding-bottom: 0;
				border-bottom: 0;
			}

			label {
				width: 92%;
				padding-top: 0 !important;
				margin-left: .618em;
				font-weight: bold;
			}

			p {
				margin: 0;
			}

			.payment_box {
				padding: 1.387em;
				margin: 1.387em -1.387em -1.387em -1.387em;
				background: rgba(0,0,0,0.035);
				border-top: 1px dotted $color_border;

				fieldset {
					border: 0;
					margin: 0;
					padding: 1em 0 0 0;
					font-size: .857em;

					label {
						width: auto;
						margin-left: 0;
					}

					.form-row {
						margin-bottom: 1em;
					}

					.form-row-first {
						select {
							width: 48%;

							&:nth-child(2n) {
								float: right;
							}
						}
					}

					#cvv {
						width: 22% !important;
					}

					.help {
						width: 75%;
						float: right;
					}
				}
			}
		}
	}

	.terms {
		width: 100%;
		clear: both;
		float: none;
		margin-bottom: 0;
		margin-top: 1em;

		label {
			display: inline;
		}

		input {
			display: inline-block;
			width: auto;
			float: left;
			margin: .327em .53em 0 0;
		}
	}

	.place-order {
		padding: 1.387em;
		margin-bottom: 0;
		float: none;
		width: 100%;

		.button {
			font-size: 1.387em;
			width: 100%;
		}
	}
}

/**
 * My Account
 */
#customer_login {
	.col-1 {
		padding-bottom: 1.618em;
		margin-bottom: 1.618em;
		border-bottom: 1px dotted $color_border;
	}
}

ul.order_details {
	@include clearfix;
	list-style: none;
	border: 1px solid $color_border;
	position: relative;
	margin-left: 0;

	li {
		float: left;
		padding: 1em 1.618em;
		border-right: 1px solid $color_border;
		font-size: .8em;
		text-transform: uppercase;

		&:last-child {
			border-right: 0;
		}

		strong {
			display: block;
			font-size: 1.387em;
			text-transform: none;
		}
	}
}

ul.digital-downloads {
	list-style: none;
	margin-left: 0;

	li {
		padding-bottom: 1em;
		margin-bottom: 1em;
		border-bottom: 1px dotted $color_border;

		&:before {
			font-family: "FontAwesome";
			content: "\f019";
			margin-right: .53em;
		}
	}
}

.my_account_orders {
	.button {
		padding: .53em 1em;
		font-size: .857em;
		margin-right: .236em;
	}
}

/**
 * General WooCommerce components
 */
.form-row {
	label {
		display: block;
	}

	input,
	textarea,
	select {
		width: 100%;
	}

	input[type=checkbox],
	input[type=radio] {
		width: auto;
	}

	.button {
		width: auto;
	}

	&.create-account {
		label {
			display: inline-block;
		}
	}

	&.woocommerce-validated {
		input.input-text {
			box-shadow: inset 2px 0 0 $success;
		}
	}

	&.woocommerce-invalid {
		input.input-text {
			box-shadow: inset 2px 0 0 $error;
		}
	}
}

.form-row-last {
	margin-right: 0 !important;
}

.form-row-wide {
	clear: both;
	width: 100%;
}

.required {
	border-bottom: 0 !important;
	color: red;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em 1.387em;
	background-color: $info;
	color: #fff;

	&:before {
		font-family: "FontAwesome";
		margin-right: .53em;
		content: "\f05a";
	}
}

.star-rating {
	overflow: hidden;
	position: relative;
	height: 1em;
	line-height: 1;
	font-size: 1em;
	width: 5.5em;
	font-family: 'star';

	&:before {
		content: "\73\73\73\73\73";
		color: rgba(0,0,0,0.2);
		float: left;
		top: 0;
		left: 0;
		position: absolute;
	}

	span {
		overflow: hidden;
		float: left;
		top: 0;
		left: 0;
		position: absolute;
		padding-top: 1.5em;
	}

	span:before {
		content: "\53\53\53\53\53";
		top: 0;
		position: absolute;
		left: 0;
		color: $color_links;
	}
}

p.stars {
	position: relative;
	font-size: 1.618em;

	a {
		display: block;
		font-weight: 700;
		margin-right: 1em;
		text-indent: -9999px;
		position: relative;
		color: $color_body;

		&:hover {
			color: $color_links;
		}

		&:last-child {
			border-right:0;
		}

		&.star-1,
		&.star-2,
		&.star-3,
		&.star-4,
		&.star-5 {
			&:after {
				font-family: "FontAwesome";
				text-indent: 0;
				position: absolute;
				top: 0;
				left: 0;
				padding-right: 1em;
			}

		}

		&.star-1 {
			width: 2em;

			&:after {
				content: "\f006";
			}

			&:hover:after,
			&.active:after {
				content: "\f005"
			}
		}

		&.star-2 {
			width: 3em;

			&:after {
				content: "\f006\f006";
			}

			&:hover:after,
			&.active:after {
				content: "\f005\f005"
			}
		}

		&.star-3 {
			width: 4em;

			&:after {
				content: "\f006\f006\f006";
			}

			&:hover:after,
			&.active:after {
				content: "\f005\f005\f005"
			}
		}

		&.star-4 {
			width: 5em;

			&:after {
				content: "\f006\f006\f006\f006";
			}

			&:hover:after,
			&.active:after {
				content: "\f005\f005\f005\f005"
			}
		}

		&.star-5 {
			width: 6em;
			border: 0;

			&:after {
				content: "\f006\f006\f006\f006\f006";
			}

			&:hover:after,
			&.active:after {
				content: "\f005\f005\f005\f005\f005"
			}
		}
	}
}

.onsale {
	border: 2px solid;
	border-color: $color_body;
	color: $color_body;
	padding: .202em .618em;
	font-size: .857em;
	text-transform: uppercase;
	font-weight: 700;
	display: inline-block;
	margin-bottom: 1em;
}

.quantity {
	.qty {
		max-width: 3.631em;
		text-align: center;
	}
}

.shop-isle-sorting {
	font-size: .857em;
	margin-bottom: 2.618em;
}

.woocommerce-tabs {
	border: 1px solid $color_border;
	border-width: 1px 0;
	padding: 1em 0;

	ul.tabs {
		list-style: none;
		margin-left: 0;
		text-align: center;

		li {
			display: inline-block;
			margin-right: 1em;
			position: relative;

			&.active {
				a {
					color: $color_body;
				}

				&:after {
					content: "\f107";
					font-family: "FontAwesome";
					position: absolute;
					top: 100%;
					left: 50%;
					height: 1em;
					width: 1em;
					line-height: 1;
					margin-left: -.5em;
				}
			}
		}
	}
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	padding: 1em 1.618em;
	@include clearfix;
	margin-bottom: 2.618em;
	background-color: $success;
	margin-left: 0;
	color: #fff;
	clear: both;
	border-left: .618em solid rgba(0,0,0,0.15);

	a {
		color: #fff;

		&:hover {
			color: #fff;
			opacity: 0.7;
		}

		&.button:hover {
			opacity: 1;
		}
	}

	.button {
		float: right;
		padding: 0;
		background: none;
		color: #fff;
		box-shadow: none;
		line-height: 1.618;
		padding-left: 1em;
		border-width: 0;
		border-left-width: 1px;
		border-left-style: solid;
		border-left-color: rgba(255,255,255,0.25) !important;
		border-radius: 0;

		&:hover {
			background: none;
			color: #fff;
			opacity: 0.7;
		}
	}

	pre {
		background-color: rgba(0,0,0,.1);
	}
}

.site-content {
	> .col-full {
		> .woocommerce {
			> .woocommerce-message,
			> .woocommerce-info,
			> .woocommerce-error {
				&:first-child {
					margin-top: 2.618em;
				}
			}
		}
	}
}

.wc-forward {
	&:after {
		content: "\f178";
		font-family: "FontAwesome";
		margin-left: .53em;
		font-weight: 400;
	}
}

.woocommerce-error {
	list-style: none;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: $info;
}

.woocommerce-error {
	background-color: $error;
}

dl.variation {
	font-size: .857em;

	dd {
		margin: 0 0 1em;
	}
}

/**
 * Homepage
 */
.shop-isle-product-section {
	border-bottom: 3px solid rgba(0,0,0,0.025);
	margin-bottom: 4.236em;

	.section-title {
		text-align: center;
	}

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

@media screen and (min-width: 768px) {
	p.stars {
		font-size: 1em;

		a {
			display: inline-block;

			&.star-1,
			&.star-2,
			&.star-3,
			&.star-4 {
				border-right:1px solid $color_border;
			}
		}
	}

	/**
	 * Responsive tables
	 */
	table.shop_table_responsive {
		thead {
			display: table-header-group;
		}

		tbody {
			th {
				display: table-cell;
			}
		}

		tr {
			td {
				display: table-cell;

				&:before {
					display: none;
				}
			}
		}
	}

	/**
	 * Header Elements
	 */
	.site-header-cart {
		position: relative;

		.cart-contents {
			padding: 0 1em 2.244em;
			display: block;
			position: relative;
			background-color: transparent;
			height: auto;
			width: auto;
			text-indent: 0;

			&:after {
				right: 1.618em;
				line-height: 1.387;
				height: 1em;
				width: 1em;
				top: 0;
			}

			.amount {
				margin-right: .327em;
			}

			.count {
				font-weight: 400;
				opacity: 0.5;
				font-size: .857em;
			}

			span {
				display: inline;
			}
		}

		.widget_shopping_cart {
			position: absolute;
			top: 100%;
			width: 100%;
			z-index: 999999;
			font-size: .857em;
			left: -999em;
			display: block;

			h2.widgettitle {
				display: none;
			}

			.product_list_widget li a.remove {
				position: relative;
				float: left;
				top: auto;

				&:before {
					text-align: left;
				}
			}
		}

		&:hover,
		&.focus {
			.widget_shopping_cart {
				left: 0;
			}
		}
	}

	/**
	 * Reset mobile product styles
	 */
	ul.products {
		li.product {
			clear: none;
			width: 100%;
			float: left;
			font-size: .857em;

			&.first {
				clear: both !important;
			}

			&.last {
				margin-right: 0 !important;
			}
		}
	}

	/**
	 * Full width content area product layout
	 */
	.page-template-template-fullwidth-php,
	.page-template-template-homepage-php,
	.shop-isle-full-width-content {
		.site-main {
			.columns-1 {
				ul.products {
					li.product {
						width: 100%;
						margin-right: 0;
						float: none;
					}
				}
			}

			.columns-2 {
				ul.products {
					li.product {
						@include span(6 of 12);
					}
				}
			}

			.columns-3 {
				ul.products {
					li.product {
						@include span(4 of 12);
					}
				}
			}

			.columns-4 {
				ul.products {
					li.product {
						@include span(3 of 12);
					}
				}
			}

			// The grid wont work for 5 columns :-(
			.columns-5 {
				ul.products {
					li.product {
						width: 16.9%;
						margin-right: 3.8%;
					}
				}
			}
		}
	}

	/**
	 * Main content area (adjacent to sidebar) product layout
	 */
	.site-main {
		.columns-1 {
			ul.products {
				li.product {
					width: 100%;
					margin-right: 0;
					float: none;
				}
			}
		}

		// The grid wont work for 2 columns :-(
		.columns-2 {
			ul.products {
				li.product {
					width: 48%;
					margin-right: 3.8%;
				}
			}
		}

		.columns-3 {
			ul.products {
				li.product {
					@include span(3 of 9);
				}
			}
		}

		// The grid wont work for 4 columns :-(
		.columns-4 {
			ul.products {
				li.product {
					width: 22.05%;
					margin-right: 3.8%;
				}
			}
		}

		// The grid wont work for 5 columns :-(
		.columns-5 {
			ul.products {
				li.product {
					width: 16.9%;
					margin-right: 3.8%;
				}
			}
		}

		ul.products {
			li.product {
				@include span(3 of 9);
			}
		}
	}

	/**
	 * Single product page
	 */
	.single-product {
		div.product {
			.images {
				@include span(4 of 9);
				margin-bottom: 3.631em;

				.thumbnails {
					@include clearfix;

					a.zoom {
						@include span(1 of 4);

						&.last {
							@include last;
						}
					}
				}
			}

			.summary {
				@include span(last 5 of 9);
				margin-bottom: 3.631em;
			}

			.woocommerce-tabs {
				clear: both;
			}
		}
	}

	#reviews {
		.comment-form-author,
		.comment-form-email {
			width: 47%;
		}

		.comment-form-email {
			margin-right: 0;
		}
	}

	// Full width single product
	.shop-isle-full-width-content.single-product {
		div.product {
			.images {
				@include span(4 of 12);
				margin-bottom: 3.631em;

				.thumbnails {
					a.zoom {
						@include span(1 of 4);

						&.last {
							margin-right: 0;
						}
					}
				}
			}

			.summary {
				@include span(last 8 of 12);
				margin-bottom: 3.631em;
			}

			.woocommerce-tabs {
				clear: both;
			}
		}

		.related,
		.upsells {
			ul.products {
				li.product {
					@include span(4 of 12);
				}
			}
		}
	}

	.woocommerce .page-description {
		margin-bottom: 1.618em;
	}

	.shop-isle-sorting {
		@include clearfix;
		margin-bottom: 2.618em;

		select {
			width: 9.505em;
		}
	}

	.woocommerce-result-count {
		float: left;
		position: relative;
		margin-bottom: 0;
		padding: .327em 0;
	}

	.woocommerce-ordering {
		float: left;
		margin-right: 1em;
		margin-bottom: 0;
		padding: .327em 0;
	}

	.woocommerce-pagination {
		float: right;
		border: 0;
		clear: none;
		padding: 0;
		margin-bottom: 0;
	}

	/**
	 * Cart
	 */
	.page-template-template-fullwidth-php {
		table.cart {
			.product-thumbnail {
				display: table-cell;

				img {
					max-width: 3.631em;
					height: auto;
					border: .327em solid #fff;
				}
			}

			thead {
				font-size: 1em;
				text-indent: 0;

				th {
					padding: .857em 1.387em;
				}
			}
		}
	}

	table.cart {
		th,
		td {
			padding: .857em 1.387em;
		}

		.qty {
			padding: .857em;
			max-width: 3.632em;
		}

		.product-remove {
			display: table-cell;
		}

		.product-quantity .plus,
		.product-quantity .minus {
			display: inline-block;
		}

		.quantity {
			.qty {
				padding: .618em;
			}
		}

		td.actions {
			text-align: right;

			label {
				display: none;
			}

			.coupon {
				padding-bottom: 0;
				margin-bottom: 0;
				border-bottom: none;
				display: inline-block;
				float: left;
			}

			input {
				display: inline-block;
				width: auto;
				margin: 0;
			}
		}
	}

	.cart-collaterals {
		@include clearfix;

		.cross-sells {
			@include span(4 of 9);

			ul.products {
				li.product {
					@include span(2 of 4);
				}
			}
		}

		.cart_totals,
		.shipping_calculator {
			@include span(last 5 of 9);
		  	margin: 0;
		  	clear: right;
		}

		.shipping_calculator {
			clear: right;
		}
	}

	.page-template-template-fullwidth-php {
		.cart-collaterals {
			.cross-sells {
				@include span(6 of 12);

				ul.products {
			  		li.product {
			  			@include span(3 of 6);
			  		}
			  	}
			}

			.cart_totals,
			.shipping_calculator {
				@include span(last 6 of 12);
			}
		}
	}

	/**
	 * Checkout
	 */
	.col2-set {
		@include span(5 of 9);

		.form-row-first {
			@include span(2 of 5);
		}

		.form-row-last {
			@include span(last 3 of 5);
		}

		.col-1,
		.col-2 {
			margin-bottom: 1.618em;
		}

		& + #customer_details {
			display: none;
		}
	}

	#order_review_heading,
	#order_review {
		@include span(last 4 of 9);
		border: 3px solid $color_links;
		clear: right;
	}

	#order_review_heading {
		margin-bottom: 0;
		padding-bottom: .618em;
		padding-top: .618em;
		border-width: 3px 3px 0 3px;
		@include gutters(inside);
	}

	#order_review {
		border-width: 0 3px 3px 3px;
	}

	// Payment forms in account
	.woocommerce-order-pay {
		#order_review {
			border-width: 3px;
			width: 100%;
			float: none;

			#payment {
				h3 {
					padding-left: 1em;
					padding-top: 1em;
				}
			}

			.payment_methods + .form-row {
				padding: 1em;
			}

			.button#place_order {
				display: block;
				width: 100%;
			}
		}
	}

	#wc_checkout_add_ons {
		@include span(4 of 9);
	}

	.page-template-template-fullwidth-php {
		.col2-set {
			@include span(6 of 12);

			.form-row-first {
				@include span(3 of 6);
			}

			.form-row-last {
				@include span(last 3 of 6);
			}
		}

		#order_review_heading,
		#order_review {
			@include span(last 6 of 12);
		}

		#wc_checkout_add_ons {
			@include span(last 6 of 12);
		}

		#order_review {
			font-size: .857em;
		}
	}

	#order_review {
		.shop_table {
			margin-bottom: 2.618em;
		}
	}

	/**
	 * General WooCommerce Components
	 */
	.form-row-first {
		@include span(4.5 of 9);
		clear: both;
	}

	.form-row-last {
		@include span(last 4.5 of 9);
	}

	.page-template-template-fullwidth-php {
		.form-row-first {
			@include span(6 of 12);
		}

		.form-row-last {
			@include span(last 6 of 12);
		}
	}

	.shop-isle-full-width-content {
		.woocommerce-tabs {
			ul.tabs {
				@include span(4 of 12);
			}

			.panel {
				@include span(last 8 of 12);
				margin-bottom: 3.631em;
			}
		}
	}

	.woocommerce-tabs {
		@include clearfix;
		margin-bottom: 2.618em;
		padding-top: 2.618em;
		padding-bottom: 2.618em;

		ul.tabs {
			@include span(3 of 9);
		  	text-align: left;

		  	li {
		  		display: block;
		  		margin: 0;
		  		border-bottom: 1px dotted $color_border;

		  		a {
		  			padding: 1em 0;
		  			display: block;
		  		}

		  		&.active {
		  			&:after {
		  				margin: 0;
		  				right: 0;
		  				left: auto;
		  				top: 50%;
		  				content: "\f105";
		  				margin-top: -.5em;
		  			}
		  		}
		  	}
		}

		.panel {
			@include span(last 6 of 9);
		  	margin-top: 0;
		}
	}
}
