/**
 * WooCommerce Overrides
 */

@import 'abstracts/_variables'; 
@import 'abstracts/_utils';
@import 'abstracts/_mixins';


/* Layout Overrides */
.woocommerce, 
.woocommerce-page {
	
	/**
	 * General layout styles
	 */
	.col2-set {
		width: 100%;

		.col-1 {
			float: left;
			width: 48%;
			padding: 0;
		}
		.col-2 {
			float: right;
			width: 48%;
			padding: 0;
		}
	}

	.woocommerce-result-count {
		display: none;
	}
	
	.woocommerce-ordering {
		float: left;
	}
}

/**
 * General and globals
 */ 

.woocommerce {
	-webkit-font-smoothing: antialiased;

	.entry-content {
		font-size: 17px;
	}

	input {
		height: 40/14 * 1em;
	}

	input[type="submit"], 
	input[type="button"],
	input[type="checkbox"],
	input[type="radio"] {
		height: auto;
	}

	.select2-container--default .select2-selection--single {
		height: 40 / 14 * 1em;
		border-color: #e5e5e5;
	}

	.select2-container--default .select2-selection--single .select2-selection__rendered {
		line-height: 40 / 14 * 1em;
	}

	.select2-container--default .select2-selection--single .select2-selection__arrow {
		height: inherit;
		right: 6px;
	}

	// Star rating
	.star-rating {
		font-size: 11px;
		width: 5.8em;
		
		&:before, 
		span:before {
			color: $main-color;
			letter-spacing: 1.4px;
		}
	
	}
	
	// Messages & Notifications
	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		border: 1px solid #ebebeb;
		margin-bottom: 40px !important;
		padding: 10px 25px 10px 3.5em !important;
		line-height: 1.9;
		font-family: $text-font;
		font-size: my-rem(15px);
		-webkit-font-smoothing: antialiased;

		@include breakpoint(x-small) {
			padding-left: 10px !important;
			justify-content: center;
		}
		
		&:before {
			top: calc(50% - 11px);
			color: #333;
			color: var(--main-color);
			opacity: 0.2;

			@include breakpoint(x-small) {
				display: none;
			}
		}

		a {
			color: #444;
			border-bottom: 1px solid;
			border-bottom-color: var(--main-color);
			margin-left: 4px;

			&:hover {
				opacity: 1;
				border-bottom-color: #000;
			}
		}

		.button {
			order: 3;
			margin-left: auto;
			flex-shrink: 0;

			@include breakpoint(x-small) {
				margin-left: initial;
				margin-top: 10px;
			}
		}

	}
	
	// Sale badge
	span.onsale {
		position: absolute;
		z-index: 1;
		padding: 0 15px;
		border-radius: 0;
		min-width: 0;
		min-height: 0;
		
		background: $main-color;
		color: #fff;
		
		font-size: 12px;
		font-weight: 600;
		line-height: 27px;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}
	

	// Checkout and general forms
	form {
	
		.form-row {
			margin-bottom: 20px;
			font-family: $text-font;
			font-size: my-rem(15px);
			
			label {
				margin-bottom: 4px;
			}
			
			.required {
				color: #ef6c6c;
				font-weight: normal;
				font-size: my-rem(12px);
			}
			
			
			textarea {
				height: 115px;
			}
		}
		
		h3 {
			margin-top: 0;
			font-size: 17px;
		}
		
		.select2-container .select2-choice {
			border: 1px solid #e5e5e5;
			padding: 5px 15px;
			color: #b4b4b4;
		}
		
		.select2-drop-active {
			border-color: #e5e5e5;
		}
		
		#ship-to-different-address-checkbox {
			display: inline-block;
			margin-top: 5px;
			margin-right: 10px;
			vertical-align: top;
		}
	}
	
	// Checkout coupon and my account
	form.login,
	form.checkout_coupon,
	form.register {
		border: 1px solid #ebebeb;
		border-radius: 0;
		padding: 30px;
	}
	
	.main .button {
	    font-family: $title-font;
	}
	
	// Buttons
	a.button,
	button.button,
	input.button,
	#respond input#submit {
		border: 0;
		border-radius: 0;
		background: $main-color;
		color: #fff;
		padding: 13px 21px;
		font-size: 12px;
		font-weight: 500;
		-webkit-font-smoothing: initial;
		
		&.alt, 
		&.alt:hover {
			background: $main-color;
			color: #fff;
			-webkit-font-smoothing: initial;
		}

		&.alt {
			@include button-hover;
		}

		@include button-hover;
		
		&:hover {
			background: $main-color;
			color: #fff;
		}
		
		&:disabled,
		&.disabled,
		&:disabled[disabled] {
			padding: 13px 21px;
			opacity: 0.6;
			color: #fff;
		}
	}
	
	// Quantity
	.quantity {
		position: relative;
		padding-right: 25px;
		
		.qty {
			padding: 0 10px;
			width: 40px;
			height: 40px;
			border-color: #ebebeb;
			appearance: none;
			-moz-appearance: textfield;
			
			font-family: $title-font;
			font-size: 13px;
		}
		
		.qty::-webkit-inner-spin-button,
		.qty::-webkit-outer-spin-button {
			-webkit-appearance: none;
			margin: 0;
		}
	}
	
	// Amount color
	.amount {
		color: $main-color;
	}
	
	.vertical-buttons {
		position: absolute;
		top: 0;
		right: 0;
		width: 26px;

		input {
			display: block;
			float: none;
			width: 26px;
			height: 20px;
			padding: 0;
			margin: 0;
			border: 1px solid #ebebeb;
			box-sizing: border-box;
			background: #fafafa;
			color: #b4b4b4;
			font-size: 14px;
			line-height: 20px;
		}
		
		.minus {
			border-top: 0;
		}
	}
	
	// Pagination
	nav.woocommerce-pagination {
		//text-align:  left;
		margin-top: 20px;
		font-family: $title-font;

		ul {
			border: 0;
			margin: 0;
			text-align: center;
		}
		
		ul li {
			border: 0;
			
			a,
			span {
				color: #a0a0a0;
				padding: 8px 10px;
				margin-right: 5px;
				border: 1px solid #ebebeb;
				background: transparent;
				font-size: 12px;
				font-weight: 600;
			}
			
			span.current,
			a:hover {
				background: $main-color;
				border-color: $main-color;
				color: #fff;
			}
		}	
	}
}

.woocommerce-cart .post-content {
	font-family: $title-font;
	letter-spacing: 0;
}

// Some need to be present on woocommerce-page too
.woocommerce, 
.woocommerce-page {
	
	.woocommerce-ordering {
		position: relative;
		margin: 0;
		margin-bottom: 40px;
		font-family: $title-font;
	}
	
	.order-select {
		cursor: pointer; 
		min-width: 266px;
		margin: 0;
		box-sizing: border-box;

		color: #5b5b5b;
		font-size: 14px;
		font-weight: 500;

		letter-spacing: 0;
		-webkit-font-smoothing: antialiased;
	}

	.order-select > span {
		display: block;	
		padding: 0 22px;
		min-width: 200px;
		border: 1px solid #ebebeb;
		box-sizing: border-box;

		text-transform: capitalize;
		text-align: left;
		height: 44px;
		line-height: 44px;
	}
	
	.order-select .fa {
		float: right;
		line-height: 40px;
		font-size: 16px;
		padding: 0 14px;
		margin-right: -15px;
		color: #9a9a9a;
	}
	
	.order-select .drop {
		position: absolute;
		top: 44px;
		z-index: 100;
		width: 100%;
		box-sizing: border-box;
		border: 1px solid #ebebeb;
		border-top: 0;
		visibility: hidden;
		opacity: 0;
		background: #fff;		
		transition: all 0.2s ease-in;
		box-shadow: 0 2px 4px -2px rgba(0, 0, 0, 0.15), 0px 4px 18px -2px rgba(0, 0, 0, 0.15);
		

		li:first-child a { 
			border-top: 0; 
		}
		
		li a {
			border-top: 1px solid #ebebeb;
	    	padding: 9px 22px;
	    	display: block;
	    	color: inherit;
		}
		
		a:hover, li.active {
			color: $main-color;
		}
	}
	
	.order-select:hover .drop {
		visibility: visible;
		opacity: 1;
	}
	
}

/**
 * Product loops & listings
 */

.woocommerce {

	.product a img,
	.images img {
		box-shadow: none;
		filter: none;

		&:hover {
			box-shadow: none;
			transform: none;
		}
	}

	.product div.images .zoomImg {
		// Creates blinking due to a bug:
		// transition: opacity .3s ease-in-out;
	}

	.flex-viewport,
	div.product .flex-control-thumbs li img,
	.product-thumb {
		box-shadow: $image-shadow;
		transition: all .3s ease;

		&:hover {
			box-shadow: $image-shadow-hover;
			transform: translate(0, -2px);
		}
	}
	
	ul.products {
		font-family: $title-font;	
		margin: 0 -15px;
		-webkit-font-smoothing: initial;

		li.product {
			margin: 0;
			margin-bottom: 40px;
			padding: 0 30px;
			width: (100%/3);
			box-sizing: border-box;
			text-align: left;
			-webkit-font-smoothing: antialiased;
			
			.button {
				margin: 0;
			}
			
			a img {
				margin: 0;
			}
			
			// Product title
			h3,
			.woocommerce-loop-product__title {
				padding: 0;
				margin-top: 29px;
				margin-bottom: 7px;
				font-size: 18px;
				font-weight: 600;
				line-height: 1.5;
			}
			
			.product-cat {
				display: block;
				color: #b4b4b4;
				font-size: 11px;
				font-weight: 500;
				letter-spacing: 0.075em;
				text-transform: uppercase;
			}
			
			// Center the rating
			.star-rating {
				position: absolute;
				top: 12px;
				right: 25px;
				opacity: 0;
				
				font-size: 11px;
				transition: 0.2s ease-in;
			}
			
			// Move ratings if there is a sales badge
			&.sale .star-rating {
				right: auto;
				left: 25px;
			}
			
			.onsale {
				top: 10px;
				right: 15px;
				margin: 0;
			}
			
			// Price changes
			.price {
				margin-top: 10px;
				font-size: 18px;
				letter-spacing: 0.02em;
				
				.amount {
					font-weight: 600;
				}
			
				ins {
					text-decoration: none;
				}
			
				del {
					display: inline-block;
					margin-right: 5px;
					opacity: 0.9;
					font-size: 0.9em;
				}
			
				del .amount {
					color: #b4b4b4;
					font-weight: 400;
				}
				
			}
			
		} // li .product
		
		/* Product image and button */
		.product-thumb {
			margin: 0 -15px;
			position: relative;
			overflow: hidden;
			text-align: initial;
		}
		
		.add_to_cart_button,
		.product_type_external,
		.added_to_cart {
			position: absolute;
			left: 0;
			bottom: 0;
			padding: 0;
			border-radius: 0;
			width: 100%;
			box-sizing: border-box;
			//background: $main-color;
			color: #fff;
			font-size: 11px;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 36px;
			text-transform: uppercase;
			text-align: center;
			transform: translateY(100%);
			
			@include breakpoint(x-small) {
				transform: none;
			}
			
			&.loading {
				opacity: 0.8;
			}
			
			&.loading:before {
				content: "\f1ce";
				animation: fa-spin 2s infinite linear;
			}
			
			&.loading:after {
				display: none;
			}
			
			&:before {
				content: "\f07a";
				display: inline-block;
				font-family: FontAwesome;
				font-size: 12px;
				margin-right: 10px;	
			}
			
			&.added {
				opacity: 0;
			}
			
			&.added:after {
				display: none;
			}
		}
		
		// Added to cart message
		.added_to_cart {
			animation: 0.8s fade-in-up;
			
			&:before {
				content: "\f00c";
			}
		}
		
		.product:hover {
			.add_to_cart_button,
			.product_type_external {
				transform: none;
			}
			
			.star-rating {
				opacity: 1;
			}

			.product-thumb {
				box-shadow: $image-shadow-hover;
			}
			
		}
	}
}

/* Full-width product listing fixes */
.no-sidebar {
	
	ul.products li.product,
	ul.products li.product,
	.upsells.products ul li.product,
	upsells.products ul li.product {
		width: 25%;
		
		@include breakpoint(medium) {
			width: 50%;
		}
		
		@include breakpoint(x-small) {
			width: 100%;
		}
	}
}

/**
 * Product Shortcode columns
 */
.woocommerce, 
.woocommerce-page {

	ul.products {
		// Columns
		&.columns-1 {
			li.product {
				width: 100%;
				margin-right: 0;
			}
		}

		&.columns-2 {
			li.product {
				width: (100%/2);
			}
		}

		&.columns-3 {
			li.product {
				width: (100%/3);
			}
		}

		&.columns-4 {
			li.product {
				width: 25%;
			}
		}

		&.columns-5 {
			li.product {
				width: (100%/5);
			}
		}

		&.columns-6 {
			li.product {
				width: (100%/6);
			}
		}
	}

	// Columns
	&.columns-1 {
		ul.products {
			li.product {
				width: 100%;
				margin-right: 0;
			}
		}
	}

	&.columns-2 {
		ul.products {
			li.product {
				width: (100%/2);
			}
		}
	}

	&.columns-3 {
		ul.products {
			li.product {
				width: (100%/3);
			}
		}
	}

	&.columns-4 {
		ul.products {
			li.product {
				width: 25%;
			}
		}
	}

	&.columns-5 {
		ul.products {
			li.product {
				width: (100%/5);
			}
		}
	}

	&.columns-6 {
		ul.products {
			li.product {
				width: (100%/6);
			}
		}
	}
}

/**
 * WooCommerce Widgets
 */

.woocommerce {
	
	&.widget {
		font-family: $title-font;
	}

	/**
	 * Price filter widget 
	 */
	.widget_price_filter {
	
		.price_slider_wrapper {
			padding-top: 4px;
		}

		.price_slider_amount {
		
			text-transform: uppercase;
			letter-spacing: 0.11em;

			.button {
				border: 0;
				border-radius: 0;
				background: $main-color;
				color: #fff;
			    padding: 11px 22px;
				font-size: 11px;
				font-weight: 600;
			}
		}
		
		.price_label {
			color: #c3c3c3;
			font-size: 12px;
			font-weight: 500;
			line-height: 33px;
			
			.from, 
			.to {
				color: $main-color;
			}
		}

		.ui-slider {
			margin: 0 8px;
			margin-top: 5px;
		}

		.ui-slider .ui-slider-handle {
			width: 17px;
			height: 17px;
			top: -6px;
			margin-left: -8px;
			background-color: $main-color;
			border-radius: 50%;		
		}

		.ui-slider .ui-slider-range {
			background-color: #ebebeb;
		}

		.price_slider_wrapper .ui-widget-content {
			background-color: darken(#ebebeb, 10%);
			margin-bottom: 40px;
		}

		.ui-slider-horizontal {
			height: 6px;
		}

	}
	
	/**
	 * Products and Cart widget
	 */
	ul.cart_list,
	ul.product_list_widget {
	
		li {
			overflow: hidden;
			padding: 0;
			padding-bottom: 20px;
			margin-bottom: 20px;
			border-bottom: 1px solid #ebebeb;
		}
		
		li:last-child {
			padding-bottom: 0;
			margin-bottom: 0;
			border: 0;
		}
	
		li img {
			margin: 0;
			margin-right: 24px;
			float: left;
			width: 87px;
		}
		
		li a {
			margin-bottom: 4px;
			font-size: 16px;
			font-weight: 500;
			//letter-spacing: 0.02em;
			line-height: 1.5;
		}
		
		.product-title {
			transition: opacity 0.25s ease-in;
			
			&:hover {
				opacity: 0.8;
			}
		}
		
		.star-rating {
			margin-top: 8px;
			margin-bottom: 9px;
		}
		
		.amount {
			color: #9a9a9a;
			font-size: 13px;
			font-weight: 500;
			letter-spacing: 0.09em;
			line-height: 1.1;
		}
	
		ins {
			text-decoration: none;
		}
	
		del .amount {
			opacity: 0.8;
			font-weight: 400;
		}
	}
	
	&.widget_shopping_cart {
		
		.cart_list li {
			padding-left: 0;
			
			a.remove {
				z-index: 1;
				top: 2px;
				left: 2px;
				padding: 2px;
				border-radius: 50%;
				background: rgba(#fff, 0.5);
				color: #222 !important;
				line-height: 1.2;
			}
		}
		
		.quantity {
			font-size: 12px;
			font-weight: normal;
			color: #b4b4b4;
		}
		
		.total {
			border-top: 1px solid #ebebeb;
			padding: 0;
			margin-top: 20px;
			padding-top: 15px;
			
			> strong {
				margin-right: 5px;
				font-size: 12px;
				text-transform: uppercase;
				letter-spacing: 0.08em;
			}
		}
	}	
}

// Footer modification for shop widget
.main-footer {
	
	ul.product_list_widget li {
		margin-top: -4px; // Undo line-height for title
		margin-bottom: 25px;
		padding-bottom: 0;
		border-bottom: 0;
		
		.image {
			overflow: hidden;
			display: block;
			float: left;
			margin-top: 4px; // For line-height on right
			max-height: 67px;
		}
		
		img {
			margin-top: -10px;
		}
	}
}


/**
 * Single Product
 */

.woocommerce {
	
	.woocommerce-noreviews {
		font-family: $text-font;
	}
	
	div.product,
	#content div.product {
		font-family: $title-font;
		
		.onsale {
			top: 0;
			left: 0;
		}

		p.stock {
			font-size: my-rem(15px);
			font-weight: 500;
		}
		
		// Everything but small screens need this styling
		@include breakpoint(false, small) {
			div.images {
				float: left;
				width: 60%;
				
				@include clearfix;
			}
			
			.woocommerce-main-image,
			.woocommerce-product-gallery__image:nth-child(1),
			.flex-viewport {
				float: right;
				width: 80%;
				width: calc(100% - 130px);
			}
			
			.onsale {
				left: 130px;
				top: 0;
			}
			
			div.images .flex-control-thumbs {
				overflow: initial;
			}

			// Slider thumbs
			div.images .flex-control-thumbs li {
				width: 100px;
				margin-right: 30px;
				margin-bottom: 15px;
				
				img {
					transition: 0.3s ease-in;
					opacity: 0.5;
					
					&:hover {
						opacity: 1;
					}
					
				}
			}
	
			// LEGACY: older than WC 3.0
			div.thumbnails {
				float: left;
				padding-top: 0 !important;
				width: 100px;
				margin-right: 30px;
		
				a {
					display: block;
					float: none;
					width: auto !important;
					margin: 0;
					margin-bottom: 15px;
					opacity: 0.5;
				}
				
				a:hover {
					opacity: 1;
				}
	
			}
		}
		
		@include breakpoint(small) {
			div.images  {
				.flex-control-thumbs {
					margin-top: 8px;
					margin-right: -8px;
				}
				
				.flex-control-thumbs li {
					padding-right: 8px;
					box-sizing: border-box;
				}
			}
		}
		

		// Summary
		div.summary {
			padding-left: 30px;
			margin-top: -5px;
			float: right;
			width: 40%;
			box-sizing: border-box;
			
			p.price,
			span.price {
				margin-top: 28px;
				margin-bottom: 24px;
				color: $main-color;
				font-size: 21px;
				font-weight: 400;
				line-height: 1;
	
				
				del {
					margin-right: 4px;
					color: #b4b4b4;
					
					.amount {
						color: inherit;
					}
				}
				
				ins {
					text-decoration: none;
					font-weight: 500;
				}
			}
		}
		
		.product-cat {
			display: block;
			color: #b4b4b4;
			font-size: 12px;
			font-weight: 500;
			text-transform: uppercase;
			letter-spacing: 0.09em;
			
			a {
				color: inherit;
			}
			
			a + a {
				margin-left: 10px;
			}
		}
		
		.woocommerce-product-rating {
			margin: 0;
		}
		
		.product_title {
			font-size: 30px;
			font-weight: 600;
			line-height: 1.5;
		}
		
		.woocommerce-review-link {
			display: none;
		}
		
		form.cart {
			margin-top: 50px;
		}
		
		form.cart .button {
			float: left;
			height: 40px;
			width: 220px;
			// width: calc(100% - 90px);
			box-sizing: border-box;
		}

		form.cart div.quantity {
			margin-right: 25px;
		}
		
		// Meta
		.product_meta {
			margin-top: 30px;
			padding-top: 25px;
			border-top: 1px solid #ebebeb;
			font-size: 12px;
			text-transform: uppercase;
			letter-spacing: 0.1em;
			
			> span {
				display: block;
				margin-bottom: 2px;
				color: #b4b4b4;
				font-weight: normal;
			}
			
			a {
				color: inherit;
			}
			
			.label {
				color: #161616;
				font-weight: 600;
			}
			
			.posted_in {
				display: none;
			}
		}
		
		/**
		 * Tabs
		 */		
		.woocommerce-tabs {
			padding-top: 65px;
			
			ul.tabs {
				text-align: center;
				margin-bottom: 55px;
				
				&:before {
					top: 50%;
					margin-top: -1px;
					border-color: #ebebeb;
				}

				
				li.active, 
				li:hover {
					border: 1px solid #efefef;
					background: #fafafa;
					color: #888;
					
					@include breakpoint(x-small) {
						border-bottom: 0;
					}
				}
				
				li {
					padding: 0;
					margin: 0 -4px;
					position: relative;
					z-index: 1;
					border: 1px solid #efefef;
					border-radius: 0;
					background: #fff;
					
					@include breakpoint(x-small) {
						display: block;
						margin: 0;
						border-bottom: 0;
						
						&:last-child {
							border-bottom: 1px solid #efefef;
						}
					}
				}
				
				li:before, 
				li:after {
					display: none;
				}
				
				li a {
					padding: 0 20px;
					color: #acacac;
					font-size: 12px;
					font-weight: 500;
					line-height: 34px;
					text-transform: uppercase;
					letter-spacing: 0.1em;
					
					@include breakpoint(x-small) {
						display: block;
					}
				}
				
				li a:hover {
					color: inherit;
				}
			}
			
			.panel > h2 {
				display: none;
			}
		}
	}
	
	// Related Products
	.related.products,
	.upsells.products {
		margin-top: 80px;
		margin-bottom: -60px;
		
		h2 {
			//display: none;
		}
		
		.section-head {
			display: block;
			margin-bottom: 50px;
		}
		
	}
	
	// Shop attributes table
	table.shop_attributes {
		color: #9a9a9a;
		font-size: 14px;
		
		th, td {
			border: 0;
			padding: 8px 0;
			background: #fff;
			font-style: normal;
			
			p {
				padding: 0;
			}
		}
				
		th {
			width: 200px;
			padding: 0 16px;
			box-sizing: border-box;
			
			color: #161616;
			font-weight: normal;
		}
		
		.alt th, .alt td {
			background: #fafafa;
		}
	}
}

/**
 * Product Reviews
 */
.woocommerce #reviews {
	
	#comments {
		> h2 {
			display: none;
		}
		
		ol.commentlist {
		
			li {
				margin-bottom: 40px;
				border-bottom: 1px solid #f6f6f6;
				padding-bottom: 30px;
				
				&:last-child {
					margin-bottom: 0;
					padding-bottom: 0;
					border-bottom: 0;
				}
			}
			
		
			li img.avatar {
				width: 60px;
				height: 60px;
				padding: 0;
				border-radius: 50%;
				border: 0;
			}
			
			li .comment-text {
				margin: 0;
				margin-left: 82px;
				border: 0;
				padding: 0;
				
				p.meta { 
					font-size: 0;
				}
			}
			
			li .meta {	
				color: #fff;
				text-transform: uppercase;
			
				strong {
					display: block;
					color: #161616;
					font-weight: 600;
				}
				
				time {
					color: #b4b4b4;
					font-size: 12px;
					font-weight: 500;
				}
			}

			.woocommerce-review__author {
				text-transform: none;
				font-size: 17px;
			}
			
			.description {
				margin-top: 8px;
				color: #535353;
				font-family: $text-font;
				font-size: my-rem(15px);
				font-weight: 400;
				-webkit-font-smoothing: antialiased;
			}
		}
	}
	
	// Section heading for comment form
	.section-head {
		text-align: left;
		
		.title {
			padding-left: 0;
			padding-right: 40px;
		}
	}
	
	// Comment form
	.comment-form {
		margin-bottom: 0;
		font-size: 15px;
	}
	
	#comment {
		height: auto;
	}
	
	.comment-form-rating {
		margin-bottom: 26px;
		color: #b4b4b4;
		font-size: 13px;
		font-weight: 600;
		text-transform: uppercase;
		line-height: 1.1;
		letter-spacing: 0.1em;
		
		label {
			float: left;
			margin-right: 24px;
		}
	}
	
	#respond .stars {
		margin: 0;
		
		a {
			color: #b4b4b4;
			padding-right: 2px;
		}
	}
	
	.inline-field {
		width: 50%;
		padding: 0;
		padding-right: 13px;
		margin-bottom: 25px;
		margin-left: 0;

		&:last-of-type {
			padding-right: 0;
			padding-left: 13px;
		}	
	}
	
	.form-submit {
		clear: both;
	}
}

/**
 * Shopping Cart Page
 */
.woocommerce-cart {
	
	.cart-empty {
		font-family: $text-font;
	}
	
	table.cart {
		margin-bottom: 50px;
		border-collapse: collapse;
		border: 0;
		
		thead {
			display: none;
		}
		
		tr {
			border: 1px solid #efefef;
			border-right: 0;
			border-left: 0;
		}
		
		td {
			padding: 30px 15px;
			background: transparent;
			border: 0;
		}
		
		img {
			display: block;
			width: 118px;
			height: auto;
		}
		
		.label {	
			display: inline-block;
			margin-right: 15px;
			margin-bottom: -2px;
			vertical-align: middle;
			
			color: #b4b4b4;
			font-size: 11px;
			font-weight: 500;
			text-transform: uppercase;
			letter-spacing: 0.08em;
		}
		
		.amount {
			display: inline-block;
			font-size: 20px;
			vertical-align: middle;
		}
		
		.product-remove {
			width: 9%;
			padding-left: 10px;
		}
		
		.product-thumbnail {
			padding: 30px 0;
			width: 10%;
			min-width: 60px;
		}
		
		.product-name {
			padding: 30px;
			width: 26%;
			min-width: 80px;
			
			> a {
				color: inherit;
				font-size: 17px;
				font-weight: 500;
				line-height: 1.5;
			}
		}
		
		.product-cat {
			display: block;
			line-height: 1.2;
			margin-bottom: 8px;
			
			a {
				margin-right: 7px;
				color: #b4b4b4;
				font-size: 11px;
				font-weight: 600;
				text-transform: uppercase;
				letter-spacing: 0.08em;
			}
		}
		
		.product-price {
			width: 19%;
			text-align: center;
			
			.amount {
				color: #161616;
			}
		}
		
		.product-quantity {
			width: 19%;
			text-align: center;
		}
		
		.quantity {
			display: inline-block;
		}
		
		.product-subtotal {
			text-align: right;
			padding-right: 30px;
		}
		
		a.remove {
			color: #c3c3c3 !important;
			
			&:hover {
				background: transparent;
				color: #666;
			}
		}
		
		// Cart actions
		tr:last-child {
			border-bottom: 0;
		}
		
		td.actions {
			padding: 30px 0;
			
			.coupon .input-text {
				border-color: #ebebeb;
				padding: 0 15px;
				margin-right: 0;
				width: 170px;
				
				height: 38/14 * 1em; 
				line-height: 38/14 * 1em;
			}
		}
	}
	
	// Cross sells
	.cross-sells {
		h2 {
			margin-top: 0;
			margin-bottom: 20px;
			font-size: 18px;
		}
	}
	
	// Cart totals
	.cart-collaterals .cart_totals {
		float: left;
	
		> h2 {
			display: none;
		}
	
		table {
			border-collapse: collapse;
			border: 1px solid #ebebeb;
			margin: 0;
			
			font-family: $text-font;
		}
		
		tr th, 
		tr td {
			background: transparent;
			border: 0;
			padding: 22px 30px;
			font-weight: 400;
			font-size: 15px;
		}
		
		tr {
			border: 0;
			border-bottom: 1px solid #f6f6f6;
		}
		
		tr:last-child {
			border-bottom: 0;
		}
		
		.woocommerce-shipping-calculator {
			margin-top: 10px;
			
			> p {
				margin-bottom: 0;
			}
		}
		
		.amount {
			font-weight: 600;
		}
		
		.cart-subtotal {
			.amount {
				color: #161616;
			}
		}
		
		.order-total {
			
			td, th {
				padding: 35px 30px;
			}
		
			.amount {
				font-size: 23px;
				font-weight: 400;
			}
		}
		
		.shipping-calculator-form {
			margin-top: 25px;
		}
		
		.form-row {
			padding: 0;
			margin-bottom: 15px;
		}
		
		select {
			height: 36px;
		}
		
		.button {
			font-family: $title-font;
		}
	}
	
	// Proceed
	.wc-proceed-to-checkout {
		padding: 0;
		margin-top: 25px;
		
		a.checkout-button {
			padding: 0;
			height: 42px;
			font-size: 12px;
			line-height: 42px;
		}
	}
}

/**
 * Checkout Page
 */
 
.woocommerce {
	
	#order_review_heading {
		margin-top: 40px;
	}
	
	.checkout {
		margin-top: 40px; 
	}
	
	.checkout .shop_table {
		margin-top: 40px;
		margin-bottom: 30px;
		border: 1px solid #ebebeb;
		border-collapse: collapse;
		font-size: 15px;
		
		thead th {
			width: auto;
			padding: 22px 30px;
			background: #fafafa;
			color: #161616;
			font-family: $title-font;
			font-size: 12px;
			font-weight: 600;
			letter-spacing: 0.1em;
			text-transform: uppercase;
		}
		
		
		thead th:first-child {
			width: 48%;
		}
		
		td, th {
			border-color: #ebebeb;
			background: transparent;
			padding: 18px 30px;
		}
		
		td.product-name {
			color: #666;
		}
		
		.product-quantity {
			color: #424242;
		}
		
		.amount {
			color: #161616;
			font-family: $title-font;
			font-size: 14px;
			font-weight: 500;
			letter-spacing: 0.03em;
		}
		
		tfoot th,
		tfoot td {
			border-color: #f6f6f6;
		}
		
		tfoot tr:last-child th,
		tfoot tr:last-child td {
			border-bottom: 0;
		}
	}
}

.woocommerce-checkout {
	
	#payment {
		background: transparent;
		
		ul.payment_methods {
			padding: 25px 30px;
			border: 1px solid #ebebeb;
			font-size: my-rem(15px);
			
			li input {
				margin-right: 8px;
			}
		}

		label {
			font-weight: 500;
		}
		
		div.payment_box {
			padding: 0;
			background: transparent;
			color: #9a9a9a;
			
			&:before {
				display: none;
			}
		}
		
		div.place-order {
			padding: 0;
			margin-top: 30px;
		}
		
		#place_order {
			float: none;
			font-family: $title-font;
			font-size: 11px;
			font-weight: 600;
			letter-spacing: 0.1em;
		}
	}
	
	.woocommerce-info {
		margin-bottom: 25px !important;
	}
	
	
}

/**
 * Login / Register
 */
.woocommerce {
	
	form.login {
		
		#rememberme {
			margin-left: 10px;
			margin-right: 5px;
		}
	}
}

.woocommerce-account {
	
	.woocommerce h2 {
		margin-top: 0;
		margin-bottom: 25px;
		font-size: 17px;
	}
	
	form.register,
	form.login {
		margin: 0;
	}
	
	h3 {
		margin-top: 0;
	}
	
	
	.woocommerce-MyAccount-navigation ul {
		list-style-type: none;
		margin: 0;
	}
}


/**
 * WooCommerce Small Screen implementation
 */
@include breakpoint(medium) {

	.woocommerce,
	.woocommerce-page {
	
		table.shop_table_responsive {
			thead {
				display: none;
			}
	
			tbody {
				tr:first-child {
					td:first-child {
						border-top: 0;
					}
				}
	
				th {
					display: none;
				}
			}
	
			tr {
				display: block;
	
				td {
					display: block;
					text-align: right !important; // Important to overwrite order status inline styling
	
					&.order-actions {
						text-align: left !important;
					}
	
					&:before {
						content: attr(data-title) ': ';
						margin-right: 15px;
						font-weight: 600;
						text-transform: uppercase;
						letter-spacing: 0.05em;
						font-size: 13px;
						line-height: 1.65;
						float: left;
						
					}
	
					&.product-remove,
					&.actions {
						&:before {
							display: none;
						}
					}
				}
			}
		}
	
		table.my_account_orders {
			tr {
				td {
					&.order-actions {
						text-align: left;
	
						&:before {
							display: none;
						}
	
						.button {
							float: none;
							margin: .125em .25em .125em 0;
						}
					}
				}
			}
		}
	
		// Columns
		.col2-set {
			.col-1,
			.col-2 {
				float: none;
				width: 100%;
			}
		}
	
		// Products
		ul.products[class*='columns-'] {
			li.product {
				width: 50%;
				float: left;
				clear: both;

				&:nth-child(2n) {
					float: right;
					clear: none !important;
				}
			}
		}
	
		// Product details / single
		div.product,
		#content div.product {
			div.images,
			div.summary {
				float: none;
				width: 100%;
				padding-left: 0;
			}
		}
	
		/**
		 * Cart
		 */
		table.cart,
		#content table.cart {
			.product-thumbnail {
				display: none;
			}
			
			.label {
				display: none;
			}
			
			.cart_item {
				padding: 15px 0;
			 
				td {
					padding: 10px 0;
					width: 100%;
					vertical-align: top;			
				}
			}
			
			.product-name > a {
				font-size: 15px;
			}
			
			.product-thumbnail {
				display: block;
				text-align: center !important;
				
				img {
					width: 50vw;
				}
				
				&:before {
					display: none;
				}
			}
			
			.cart_item {
				position: relative;
			}
			
			a.remove {
				position: absolute;
				top: 10px;
				right: 5px;
			}
			
			.amount {
				font-size: 15px;
				line-height: 1.7;
				vertical-align: top;
			}
			
			td.actions {
				text-align: left;
	
				.coupon {
					float: none;
					@include clearfix();
					padding-bottom: 10px;
	
					.button {
						width: auto;
						margin: 0;
					}
				}

				.button {
					display: block;
					width: 100%;
					box-sizing: border-box;
					margin: 0 auto;
					margin-top: 50px;
				}
			}
		}
	
		.cart-collaterals {
			.cart_totals,
			.shipping_calculator,
			.cross-sells {
				width: 100%;
				float: none;
				text-align: left;
			}
		}
	
		/**
		 * Checkout
		 */
		&.woocommerce-checkout {
			form.login {
				.form-row {
					width: 100%;
					float: none;
				}
			}
		}
	
		#payment {
			.terms {
				text-align: left;
				padding: 0;
			}
	
			#place_order {
				float: none;
				width: 100%;
				box-sizing: border-box;
				margin-bottom: 1em;
			}
		}
	
		/**
		 * Account
		 */
		.lost_reset_password {
			.form-row-first,
			.form-row-last {
				width: 100%;
				float: none;
				margin-right: 0;
			}
		}
	}
	
	
	// Account page
	.woocommerce-account {
		.woocommerce-MyAccount-navigation,
		.woocommerce-MyAccount-content {
			position: relative;
			float: none;
			width: 100%;	
		}
		
		.woocommerce-MyAccount-navigation {
			margin-bottom: 30px;
			padding-left: 5px;
			background: #fafafa;
			border-bottom: 1px solid #efefef;
			border-top: 1px solid #efefef;
			white-space: nowrap;
		}
		
		.woocommerce-MyAccount-navigation:after {
			content: "";
			position: absolute;
			background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));
			top: 0;
			right: 0;
			width: 20px;
			height: 100%;
		}
		
		.woocommerce-MyAccount-navigation ul {
			display: flex;
			overflow: auto;
			
			li {
				margin: 0;
				padding: 5px;
				padding-right: 15px;
			}
		}
	}
	
}

// Phone screens only
@include breakpoint(x-small) {
	.woocommerce,
	.woocommerce-page {
		
		// Products
		ul.products[class*='columns-'] {
			li.product {
				width: 100%;
			}
		}
	}
}

// Globals
.select2-search--dropdown .select2-search__field {
	height: 34px;
}