// sass-lint:disable-all

/* -----------------------------------------
	WooCommerce Styling
----------------------------------------- */

@import "inc/variables";
@import "inc/mixins/grid";
@import "inc/mixins/mixins";

/* General
========================================= */
.demo_store {
	position: fixed;
	bottom: 0;
	z-index: 150;
	width: 100%;
	background-color: $grey;
	border-top: 1px solid $border-color;
	text-align: center;
	margin: 0;
	line-height: normal;
	padding: 15px 25px;
}

.woocommerce-store-notice__dismiss-link {
	display: inline;
}

.woocommerce-page {
	.entry-content a {
		text-decoration: none;
	}

	.shop_table {
		border: 1px solid $border-color;
		border-bottom: 0;
		border-right: 0;
		margin-top: 0;

		th, td {
			padding: 10px;
			border-bottom: 1px solid $border-color;
			border-right: 1px solid $border-color;
		}

		th {
			line-height: normal;
			width: 25%;

			&.product-remove {
				width: 6%;
			}
		}
	}
}

.woocommerce {
	.col2-set {
		@include media-breakpoint-up(md) {
			@include make-row($grid-gutter-widths);
		}

		.col-1, .col-2 {
			@include media-breakpoint-up(md) {
				@include make-col-ready($grid-gutter-widths);
				@include make-col(6);
			}
			@include media-breakpoint-down(md) {
				@include make-col-ready($grid-gutter-widths);
				@include make-col(12);
			}
		}
	}
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews {
	padding: 14px 20px 14px 55px;
	background-color: $grey;
	margin-bottom: 30px;
	margin-left: 0;
	clear: both;
	border-left: .618em solid $green;
	position: relative;

	@include media-breakpoint-down(sm) {
		font-size: 14px;
	}

	&::before {
		@include font-awesome(\f058);
		position: absolute;
		left: 15px;
		top: 10px;
		font-size: 1.4em;
	}

	a:not(.button) {
		border-bottom: 1px solid;
		color: $text-color;
	}

	.button {
		@include button;
		@include button-default;
		float: right;
		padding: 5px 10px 4px;
		position: relative;
		top: -4px;
		right: -10px;
		font-size: 13px;

		&::after {
			@include font-awesome(\f061);
			font-size: 0.65em;
			display: inline-block;
			margin: 0 0 0 5px;
			position: relative;
			top: -2px;
		}
	}
}

.woocommerce-message {
	@include media-breakpoint-down(sm) {
		padding-bottom: 45px;

		.button {
			float: none;
			position: absolute;
			display: block;
			padding: 0;
			left: 45px;
			bottom: 15px;
			margin: 0;
		}
	}
}

.woocommerce-error {
	list-style: none;
	border-left-color: $red;

	li {
		display: block;
	}
}

.woocommerce-info {
	list-style: none;
	border-left-color: $green;

	li {
		display: block;
	}

	&:before {
		content: "\f05a";
	}
}

.woocommerce-noreviews {
	padding-left: 20px;
	border-left-color: rgba(0,0,0,.15);

	&:before {
		display: none;
	}
}

.onsale {
	z-index: 10;
	position: absolute;
	top: 5px;
	right: 20px;
	font-size: 13px;
	text-align: center;
	background-color: $accent-color;
	padding: 3px 12px;
	color: $white;

	.ci-item &,
	.products & {
		left: auto;
	}
}

/* Shop Page
========================================= */
ul {
	&.products {
		@include make-row($grid-gutter-widths);
		clear: both;
		position: relative;
		padding: 0;
		list-style: none;
		margin-bottom: -50px;

		&::before {
			clear: both;
		}

		a {
			&:focus,
			&:active {
				outline: none;
			}
		}

		&.columns-1 {
			> li {
				@include make-col-ready($grid-gutter-widths);

				@include media-breakpoint-up(xs) {
					@include make-col(12);
				}
			}
		}

		&.columns-2 {
			> li {
				@include make-col-ready($grid-gutter-widths);

				@include media-breakpoint-up(md) {
					@include make-col(6);
				}
			}
		}

		&.columns-3 {
			>li {
				@include make-col-ready($grid-gutter-widths);
				@include media-breakpoint-up(md) {
					@include make-col(6);
				}
				@include media-breakpoint-only(lg) {
					.added_to_cart {
					  .col-lg-9 & {
						margin-top: 7px;
						margin-left: 0;
					  }
					}
				}
				@include media-breakpoint-up(lg) {
					@include make-col(4);
				}
			}
		}

		&.columns-4 {
			>li {
				@include make-col-ready($grid-gutter-widths);
				@include media-breakpoint-up(md) {
					@include make-col(6);
				}
				@include media-breakpoint-only(lg) {
				  .added_to_cart {
					.col-lg-9 & {
					  margin-top: 7px;
					  margin-left: 0;
					}
				  }
				}
				@include media-breakpoint-up(lg) {
					@include make-col(3);
				}
			}

			.button,
			.added_to_cart {
				@include button-xs;
			}
		}

		> li {
			margin-bottom: 50px;
			text-align: center;

			img {
				border-radius: 3px;
			}

			.price {
				font-size: 13px;
				display: block;
				margin: 5px 0 15px;
				line-height: 13px;
				color: $text-color;

				ins {
					text-decoration: none;
				}
			}

			.woocommerce-loop-product__title {
				margin: 15px 0 10px;
				color: $accent-color;
				font-size: 18px;
			}

			.star-rating {
				display: block;
				margin: 0 auto 16px;
			}
		}

		.button,
		.added_to_cart {
			@include button;
			@include button-default;
			@include button-sm;
			letter-spacing: 0;
			position: relative;

			&.loading {
				opacity: 0.5;
				padding-right: 2.618em;

				&::after {
					@include font-awesome(\f110, 'solid');
					position: absolute;
					top: 9px;
					right: 11px;
					animation: rot .8s infinite linear;
				}
			}
		}

	  .added_to_cart {
		margin-left: 5px;
	  }
	}

	.woocommerce-loop-category__title {
		font-size: 23px;
	  	margin-top: 12px;
	}
}


.woocommerce-pagination {
	ul.page-numbers {
		list-style: none;
		border: 0;

		li {
			display: inline-block;
		}
	}
}

.woocommerce-result-count,
.product-number {
	display: inline-block;
	margin: 0;
}

.woocommerce-result-count {
	margin: 0 15px 15px 0;
}

.woocommerce-ordering {
	position: relative;
	margin: 0 0 30px;
	top: -4px;
	float: right;

	select {
		height: 40px;
		font-size: 12px;
		padding-right: 25px;
	}

	@include media-breakpoint-down(sm) {
		float: none;
		width: 100%;
		top: 0;

		select {
			width: 100%;
		}
	}
}

.price {
	ins {
		text-decoration: none;
	}
}

/* Single Product
========================================= */
div.type-product {
	@include make-row($grid-gutter-widths);
	position: relative;

	.woocommerce-product-gallery {
		@include make-col-ready($grid-gutter-widths);
		@include make-col(4);
		margin-bottom: 30px;
		position: relative;

		@include media-breakpoint-down(sm)  {
			@include make-col(12);
		}
	}

	.summary {
		@include make-col-ready($grid-gutter-widths);
		@include make-col(8);
		margin-bottom: 35px;

		@include media-breakpoint-down(sm)  {
			@include make-col(12);
		}
	}

	.onsale {
		right: auto;
		left: 20px;
	}

	// Product Gallery
	.woocommerce-product-gallery {
		margin-bottom: 60px;
		position: relative;

		img {
			display: block;
			width: 100%;
			height: auto;
			box-shadow: none;
			outline: 0;
		}

		.thumbnails {
			padding-top: 1em;
		}

		.flex-viewport {
			border-radius: $border-radius-base;
		}

		.flex-control-thumbs {
			@include make-row($grid-gutter-widths);
			overflow: hidden;
			zoom: 1;
			margin: 30px -15px 0;
			padding: 0;
			list-style: none;

			li {
				@include make-col-ready($grid-gutter-widths);
				@include make-col(3);
				margin-bottom: 15px;

				img {
					cursor: pointer;
					opacity: .5;
					margin: 0;
					border: 1px solid $border-color;
					border-radius: $border-radius-base;

					&.flex-active,
					&:hover {
						opacity: 1;
					}
				}
			}
		}

		.woocommerce-product-gallery__trigger {
			position: absolute;
			top: .15em;
			right: .62em;
			font-size: 2em;
			z-index: 9;
			width: 36px;
			height: 36px;
			background: $white;
			text-indent: -9999px;
			border-radius: 100%;
			box-sizing: content-box;
			outline: 0;

			&:before {
				content: "";
				display: block;
				width: 10px;
				height: 10px;
				border: 2px solid $black;
				border-radius: 100%;
				position: absolute;
				top: 9px;
				left: 9px;
				box-sizing: content-box;
			}

			&:after {
				content: "";
				display: block;
				width: 2px;
				height: 8px;
				background: $black;
				border-radius: 6px;
				position: absolute;
				top: 19px;
				left: 22px;
				transform: rotate(-45deg);
				box-sizing: content-box;
			}

			&:active,
			&:focus {
				outline: 0;
			}
		}
	}

	//Product Summary
	.summary {
		.product_title {
			margin-bottom: 20px;
		}

		.price {
			font-size: 20px;
			margin-top: -15px;
		}

		.woocommerce-product-rating, .price {
			margin-bottom: 15px;
		}

		.stock {
			display: inline-block;
			margin-bottom: 15px;
			color: $white;
			padding: 4px 8px;
		}

		.in-stock {
			background-color: $green;
		}

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

		.variations {
			width: auto;
			margin-bottom: 10px;

			td {
				border: 0;
				position: relative;

				&.label {
					max-width: 70px;
					margin: 0 5px 0 0;

					label {
						margin: 0;
						height: 50px;
						line-height: 50px;
					}
				}
			}

			select {
				height: 30px;
				padding: 5px 25px 5px 15px;
				font-size: 12px;
			}
		}

		.woocommerce-variation-price {
			margin-bottom: 15px;
		}

		.reset_variations {
			position: absolute;
			color: $text-color;
			left: 100%;
			top: 50%;
			transform: translateY(-50%);
			margin: 0 0 0 5px;
		}

		.woocommerce-grouped-product-list.group_table {
			margin-bottom: 15px;

			label {
				margin: 0;
			}

			.stock {
				margin: 0 0 0 5px;
			}
		}

		.product_meta {
			margin-top: 30px;
			padding-top: 25px;
			border-top: 1px solid $border-color;
			font-size: 14px;

			> span {
				display: block;
				margin-bottom: 5px;
			}
		}
	}

	.woocommerce-tabs {
		@include make-col-ready($grid-gutter-widths);
		@include make-col(12);
	}

	.upsells, .related {
		@include make-col-ready($grid-gutter-widths);
		@include make-col(12);

		margin-bottom: 35px;
	}
}

/* Tabs
========================================= */
.woocommerce-tabs {
	margin-bottom: 35px;

	.wc-tabs {
		display: flex;
		margin: 0;
		padding: 0 0 20px;
		border-bottom: 1px solid $border-color;

		@include media-breakpoint-down(sm) {
			display: block;
		}

		li {
			display: inline-block;
			margin: 0 45px 0 0;
			padding: 0;

			@include media-breakpoint-down(sm) {
				display: block;
				margin: 0 0 10px;
			}

			&.active {
				a {
					color: $accent-color;
					opacity: 1;
				}
			}
		}

		a {
			color: $text-color;
			font-weight: $font-weight-extra-bold;
			opacity: .8;
			border-bottom-color: transparent;
			transition: border-color .18s ease;

			@include media-breakpoint-down(sm) {
				display: block;
			}
		}
	}

	.woocommerce-Tabs-panel {
		padding: 20px 0 0;

		> h2 {
			&:first-of-type {
				display: none;
			}
		}

		> p,
		> table {
			&:last-child {
				margin-bottom: 0;
			}
		}

		&.entry-content {
			h2, h3, h4, h5, h6 {
				margin: 20px 0 10px;
			}
		}
	}

	.shop_attributes {
		p {
			margin: 0;
		}
	}

	.woocommerce-Reviews {
		#comments {
			margin: 0;

			.woocommerce-Reviews-title {
				margin: 0 0 20px;
			}

			.commentlist {
				list-style: none;
			}
		}

		.comment-text {
			font-size: 14px;

			p {
				margin-bottom: 10px;
			}
		}

		li {
			margin-bottom: 20px;
		}

		.avatar {
			width: 64px;
			height: 64px;
			float: left;
			margin: 0 25px 15px 0;
			overflow: visible;

			@include media-breakpoint-down(sm) {
				display: none;
			}
		}

		.description {
			overflow: hidden;
		}

		.meta {
			font-size: 16px;
		}

		.star-rating {
			float: right;
		}

		.comment-respond {
			margin-top: 30px;

			.comment-notes {
				margin: 0 0 15px 0;
			}
		}

		.comment-reply-title {
			display: block;
			margin-bottom: 15px;
		}
	}

	.comment-form-rating {
		a {
			display: inline-block;
			position: relative;
			width: 15px;
			text-indent: -9999px;
			border: none;
			margin-right: 12px;
			color: $accent-color;

			&::after {
				@include font-awesome(\f005, 'regular');
				font-size: 13px;
				opacity: 1;
				display: inline-block;
				text-indent: 0;
				position: absolute;
				top: 0;
				left: 0;
				color: $yellow;
			}

			&:focus {
				outline:none;
			}

			&.active {
				&::after {
					font-weight: 900;
				}
			}
		}

		@for $i from 2 through 5 {
			$base: '\f005';
			$base-content: $base;

			.star-#{$i} {
				width: #{13 * $i}px;

				@for $j from 1 to $i {
					$base-content: $base + $base-content;
				}

				&::after {
					content: $base-content;
					font-weight: 400;
				}

				&.active {
					&::after {
						font-weight: 900;
					}
				}
			}
		}
	}
}

/* Add to cart
========================================= */
.quantity {
	display: inline-block;
	line-height: normal;
	margin-right: 10px;

	.group_table & {
		vertical-align: middle;
	}
}

/* Add to cart
========================================= */
.quantity-wrap {
	display: inline-flex;
	align-items: center;
	margin: 15px 10px 0 0;
	height: 38px;
}

.quantity {
	display: inline-block;
	line-height: normal;
	margin: 0;

	.group_table & {
		vertical-align: middle;
	}
}

.qty {
	text-align: center;
	padding: 0;
	margin: 0;
	width: 45px;
	border-radius: 0;
	font-size: 14px;
	height: 38px;

	&:focus {
		box-shadow: none;
	}

	.group_table & {
		width: 30px;
	}

	.quantity-wrap & {
		-moz-appearance: textfield;

		&::-webkit-inner-spin-button,
		&::-webkit-outer-spin-button {
			appearance: none;
			margin: 0;
		}
	}
}

.qty-btn {
	height: 100%;
	background: $accent-color;
	color: $text-on-accent;
	border: 0;
	width: 25px;
	text-align: center;
	font-size: 16px;
	box-shadow: none;
	cursor: pointer;
	font-weight: normal;
	line-height: normal;
	outline: 0;

	&:hover {
		background-color: $accent-color-alt;
	}
}

.qty-plus {
	border-top-right-radius: $border-radius-base;
	border-bottom-right-radius: $border-radius-base;
}

.qty-minus {
	border-top-left-radius: $border-radius-base;
	border-bottom-left-radius: $border-radius-base;
}

/* Star Ratings
========================================= */
.star-rating {
	overflow: hidden;
	display: inline-block;
	position: relative;
	height: 1em;
	line-height: 1em;
	font-size: 12px;
	width: 68px;
	color: $yellow;

	&::before {
		@include font-awesome(\f005\f005\f005\f005\f005, 'regular');
		float: left;
		top: 0;
		left: 0;
		position: absolute;
	}

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

		&::before {
			@include font-awesome(\f005\f005\f005\f005\f005, 'solid');
			top: 0;
			position: absolute;
			left: 0;
		}
	}
}

/* Cart Page
========================================= */
.shop_table {
	td {
		padding: 10px 5px;
	}
}

// Styles specific to the cart table
.shop_table {
	&.cart {
		border: 1px solid $border-color;
		border-bottom: 0;
		border-right: 0;

		th, td {
			padding: 10px;
			border-bottom: 1px solid $border-color;
			border-right: 1px solid $border-color;
		}

		a {
			text-decoration: none;
		}
	}

	.product-remove {
		text-align: center;
	}

	.remove {
		font-size: 24px;
	}

	.product-thumbnail {
		text-align: center;

		img {
			width: 60px;
		}

		@include media-breakpoint-down(sm) {
			display: none;
		}
	}

	.product-price {
		text-align: center;

		@include media-breakpoint-down(sm) {
			display: none;
		}
	}

	.product-quantity {
		text-align: center;

		.quantity {
			margin: 0;
			justify-content: center;

			@include media-breakpoint-down(sm) {
				label {
					display: none;
				}

				.qty {
					max-width: 50px;
				}
			}
		}
	}

	.product-subtotal {
		text-align: center;

		.woocommerce-Price-amount {
			font-weight: bold;
		}
	}

	.coupon {
		width: 280px;
		position: relative;
		float: left;
		height: 46px;

		label {
			display: none;
		}

		input, button {
			height: 100%;
		}

		button[type="submit"] {
			@include button-sm;
			border-width: 1px;
			padding: 14px 10px;
			position: absolute;
			top: 0;
			right: 0;
		}

		@include media-breakpoint-down(xs) {
			display: block;
			float: none;
			width: 100%;
			margin-bottom: 15px;
		}
	}

	[name="update_cart"] {
		@include button-sm;
		padding: 12px 24px;
		float: right;
	}
}

// Cart Collaterals
.cart-collaterals {
	@include media-breakpoint-up(lg) {
		@include make-row($grid-gutter-widths);
	}

	margin-top: 50px;

	.cross-sells {
		@include media-breakpoint-up(lg) {
			@include make-col-ready($grid-gutter-widths);
			@include make-col(8);
		}

		@include media-breakpoint-down(sm) {
			margin-bottom: 50px;
		}
	}

	.cart_totals {
		@include media-breakpoint-up(lg) {
			@include make-col-ready($grid-gutter-widths);
			@include make-col(4);
			margin-left: auto;
		}

		@include media-breakpoint-down(lg) {
			margin-top: 35px;
		}

		@include media-breakpoint-down(sm) {
			clear: both;
		}

		.shop_table {
			th {
				vertical-align: top;
			}
		}
	}

	.shop_table {
		#shipping_method {
			list-style: none;
			padding-left: 0;
			margin: 0;

			li {
				margin-bottom: 5px;
			}

			.shipping_method {
				margin: 0px 5px 0px 0;
			}

			label {
				display: inline-block;
				margin: 0;
				position: relative;
				top: -1.5px;
			}
		}
	}
}

//Shipping Calculator
.woocommerce-shipping-calculator {
	.shipping-calculator-form {
		margin-top: 20px;
	}

	p {
		margin-bottom: 15px;
	}
}

.woocommerce-page {
	.cart_totals, form.woocommerce-checkout {
		.select2-container {
			.select2-selection {
				border: 1px solid $border-color;
				border-radius: 3px;
				padding: 10px 4px;
				height: 50px;
				text-align: left;
				background-color: $grey-light;

				.select2-selection__rendered {
					color: $black;
				}

				.select2-selection__arrow {
					height: 50px;
					position: absolute;
					top: 1px;
					right: 3px;
					width: 20px;
				}
			}
		}
	}
}

/* Checkout Page
========================================= */
.woocommerce-checkout {
	#customer_details {
		p {
			margin-bottom: 15px;
		}

		#ship-to-different-address {
			margin-bottom: 28px;
		}
	}

	.shop_table {
		.product-total {
			text-align: left;
		}

		th {
			vertical-align: top;
		}

		#shipping_method {
			list-style: none;
			padding-left: 0;
			margin: 0;

			li {
				margin-bottom: 5px;
			}

			.shipping_method {
				margin: 0px 5px 0px 0;
			}

			label {
				display: inline-block;
				margin: 0;
				position: relative;
				top: -1.5px;
			}
		}
	}

	#place_order {
		@include button;
		@include button-default;
		@include button-sm;
	}
}

.wc_payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
}

.wc_payment_method {
	padding: 10px 0;
	border-bottom: 1px solid $border-color;

	label {
		display: inline-block;
		margin: 0 0 0 5px;
	}
}

.payment_method_paypal {
	img {
		width: 100px;
		margin: -2px 15px 0;
	}
}

.about_paypal {
	font-size: 12px;
}

.payment_box {
	padding: 15px;
	border: 1px solid $border-color;
	margin: 5px 0 0;

	p {
		margin: 0;
	}
}

/* My Account
========================================= */
.woocommerce-account {
	.woocommerce:not(.widget) {
		@include make-row($grid-gutter-widths);

		> h2, > form.login { // sass-lint:disable-line force-element-nesting no-qualifying-elements
			@include make-col-ready($grid-gutter-widths);
			@include make-col(12);
		}

		> .woocommerce-message,
		> .woocommerce-error,
		> .woocommerce-info,
		> .woocommerce-noreviews {
			margin-left: 15px;
			flex: 0 0 calc(100% - 30px);
			max-width: calc(100% - 30px);
		}
	}
}

.woocommerce-MyAccount-navigation {
	@include make-col-ready($grid-gutter-widths);
	@include make-col(12);
	@include media-breakpoint-up(md) {
		@include make-col(3);
	}
	margin-bottom: 30px;

	ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.woocommerce-MyAccount-navigation-link {
		display: block;

		a {
			padding: 10px 0;
			display: block;
			border-bottom: 1px solid $border-color;
			position: relative;
			color: $text-color;

			&:hover {
				color: $accent-color;
			}

			&::after {
				@include font-awesome(\f105);
				position: absolute;
				top: 10px;
				right: 5px;
			}
		}

		&.is-active {
			a {
				font-weight: bold;
			}
		}
	}

	.woocommerce-MyAccount-navigation-link--customer-logout {
		a {
			&::after {
				content: "";
			}
		}
	}
}

.woocommerce-MyAccount-content {
	@include make-col-ready($grid-gutter-widths);
	@include make-col(12);

	@include media-breakpoint-up(md) {
		@include make-col(9);
	}

	@include media-breakpoint-up(lg) {
		padding-left: 45px;
	}

	mark {
		color: $text-color;
	}

	.select2-container {
		padding: 10px 15px;
		font-size: 14px;
		border: 1px solid $text-color-light;

		.select2-selection {
			border: 0;

			.select2-selection__arrow {
				height: 46px;
			}
		}
	}
}

/* My Account - Orders
========================================= */
.woocommerce-MyAccount-orders {
	.button {
		&.view {
			@include button;
			@include button-default;
			@include button-sm;
		}
	}
}

/* My Account - Downloads
========================================= */
.woocommerce-MyAccount-downloads {
	.download-file {
		width: 50%;

		a {
			color: $text-color;
		}
	}

	.woocommerce-Button {
		&.download {
			@include button-sm;
		}
	}
}

/* My Account - Details
========================================= */
.woocommerce-EditAccountForm {
	fieldset {
		padding: 25px;
		border: 2px solid $border-color;
	}

	legend {
		padding: 0 15px;
	}

	#account_display_name {
		margin-bottom: 10px;
	}
}

/* My Account - Addresses
========================================= */
.woocommerce-Addresses {
	@include make-row($grid-gutter-widths);
}

.woocommerce-Address {
	@include media-breakpoint-up(xs) {
		@include make-col-ready($grid-gutter-widths);
		@include make-col(12);
	}

	@include media-breakpoint-up(md) {
		@include make-col-ready($grid-gutter-widths);
		@include make-col(6);
	}
}

.woocommerce-Address-title {
	position: relative;

	a {
		position: absolute;
		right: 0;
		top: 0;
		font-size: 12px;
		color: $text-color;
	}
}

/* My Account - Login
========================================= */
.wc-form-login {
	width: 480px;
	max-width: 480px;
	margin: 0 auto 100px;
	padding: 50px;
	border: 1px solid $border-color;

	input[type="submit"] {
		margin: 0 0 15px;
	}

	h2 {
		margin: 0 0 20px;
	}

	&.with-register {
		width: 740px;
		max-width: 740px;
	}

	.woocommerce-form__label-for-checkbox {
		display: inline-flex;
		font-size: 13px;
		margin-left: 10px;
	}

	@include media-breakpoint-down(md) {
		margin: 0 15px;

		.woocommerce-form-login {
			margin-bottom: 30px;
		}
	}
}

.inline {
	input {
		margin-right: 5px;
	}
}

.woocommerce-LostPassword {
	margin: 0;
	font-size: 16px;
}

.woocommerce-privacy-policy-text {
	font-size: 13px;
}

/* WIDGET: WooCommerce Price Range
========================================= */
.price_slider_wrapper {
	margin-top: 30px;
}

.price_slider {
	position: relative;
	text-align: left;
	height: 4px;
	width: calc(100% - 14px);
	margin: 0 auto 30px;
	background: $border-color;

	.ui-slider-range {
		position: absolute;
		z-index: 1;
		background: $border-color;
		height: 4px;
		cursor: pointer;
	}

	.ui-slider-handle {
		position: absolute;
		z-index: 2;
		width: 16px;
		border-radius: 3px;
		height: 25px;
		margin-top: -10px;
		margin-left: -7px;
		cursor: pointer;
		outline: none;
		background-color: $accent-color-alt;
		-ms-touch-action: none;
		touch-action: none;

		&:active {
			outline: none;
		}

		&::after {
			@include font-awesome(\f0c9);
			font-size: 6px;
			color: $white;
			line-height: 1;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 100%;
			text-align: center;
		}
	}
}

.price_slider_amount {
	position: relative;
}

.price_slider_wrapper {
	.price_label {
		position: absolute;
		right: 0;
		top: 8px;
	}

	button {
		@include button-sm;
	}
}

/* WIDGET: WooCommerce Products
========================================= */
.product_list_widget {
	list-style: none;
	margin: 0;
	padding: 0;

	li {
		@include clearfix;
		margin-bottom: 25px;
		position: relative;

		img {
			float: right;
			width: 80px;
			margin: 0 0 0 15px;
			border-radius: $border-radius-base;
		}
	}

	.product-thumb {
		float: left;
		margin-right: 15px;

		img {
			border: 1px solid $border-color;
		}
	}

	.product-content {
		overflow: hidden;
	}

	.product-title {
		line-height: normal;
		display: block;
		margin-bottom: 0;
		font-size: 14px;
		color: $accent-color;
		font-weight: $font-weight-extra-bold;

		&:hover {
			color: $accent-color;
		}
	}

	.reviewer {
		font-size: 12px;
		display: block;
		margin-top: 7px;
	}

	.star-rating {
		display: block;
		margin: 10px 0 5px;
	}

	.woocommerce-Price-amount {
		color: $text-color;
		font-weight: 600;
		font-size: 14px;
	}

	ins {
		text-decoration: none;
	}

	del {
		color: $text-color;
		opacity: .5;
	}

	// Cart items
	.remove {
		position: absolute;
		right: 0;
		top: 0;
		font-size: 18px;
		width: 20px;
		height: 20px;
		line-height: 21px;
		text-align: center;
		text-indent: -1px;
		background-color: $black;
		color: $white !important;

		&:hover {
			color: $white;
		}
	}

	.quantity {
		display: block;
		margin: 5px 0 0 0;
		font-size: 14px;
		color: $text-color-light;
	}
}

/* WIDGET: Shopping Cart
========================================= */
.woocommerce-mini-cart__empty-message {
	text-align: center;
	margin: 0;
	padding: 15px;
	border: 1px solid $border-color;

	.header-mini-cart & {
		border: 0;
		padding: 0;
	}
}

.woocommerce-mini-cart__total {
	margin: 0 0 15px;
	padding: 10px;
	border-top: 1px solid $border-color;
	border-bottom: 1px solid $border-color;
}

.woocommerce-mini-cart__buttons.buttons {
	display: flex;
	justify-content: space-between;

	a.button {
		padding: 10px;
		font-size: 12px;
		width: 48%;
	}
}

// Header mini cart
.header-mini-cart {
	position: relative;
	z-index: 175;
	text-align: left;

	.widget_shopping_cart {
		margin: 0;
	}

	.widget-title {
		display: none;
	}
}

.header-mini-cart-trigger  {
	line-height: normal;
}

.header-mini-cart-contents {
	position: absolute;
	right: 0;
	background-color: $white;
	color: $text-color;
	padding: 20px;
	min-width: 300px;
	box-shadow: 0 0 6px rgba($black, .1);
	margin-top: 15px;
	display: none;

	&::before,
	&::after {
		content: "";
		position: absolute;
		top: -16px;
		right: 10px;
		border: 8px solid transparent;
		border-bottom-color: white;
		width: 0;
		height: 0;
	}

	&::before {
		border-bottom-color: rgba($black, .1);
		top: -17px;
	}
}

/* WIDGET: Filter Rating
========================================= */
.widget_rating_filter {
	ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
}

/* WIDGET: Product Search
========================================= */
.widget_product_search {
	button {
		@include button;
		@include button-default;
		@include button-sm;
		margin-top: 15px;
	}
}

/* WIDGET: WooCommerce Layered Nav Widget
========================================= */
.widget_layered_nav_filters {
	ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	li {
		display: inline-block;
		margin: 0 5px 5px 0;
	}

	a {
		display: inline-block;
		background-color: $grey;
		border-radius: 2px;
		color: $text-color;
		font-size: 12px;
		padding: 2px 10px;
		position: relative;

		&::before {
			content: "\00d7";
			margin-right: 5px;
			font-size: 14px;
		}

		&:hover {
			&::before {
				color: $red;
			}
		}
	}
}

.widget_layered_nav {
	li {
		&.chosen {
			a {
				&::before {
					content: "\00d7";
					margin-right: 5px;
					font-size: 14px;
				}

				&:hover {
					&::before {
						color: $red;
					}
				}
			}
		}
	}
}

.woocommerce-widget-layered-nav-dropdown {
	.select2-container--default.select2-container--focus .select2-selection--multiple {
		border-radius: 0;
	}

	button {
		@include button;
		@include button-default;
		@include button-sm;
		margin-top:15px;
	}
}

/* WIDGET: Product Category Dropdown
========================================= */
.widget_product_categories {
	.select2-container {
		padding: 10px 15px;
		font-size: 14px;
		border: 1px solid $text-color-light;

		.select2-selection {
			border: 0;

			.select2-selection__arrow {
				height: 46px;
			}
		}
	}
}

/* WIDGET: Product Category List
========================================= */
.woocommerce-widget-layered-nav-list {
	padding-left: 0;
}

/* CI THEME ELEMENT: Product Styles
========================================= */
// Weird selector to overcome specificity
.ci-item.ci-item-product {
	text-align: center;

	img {
		border-radius: $border-radius-base;
	}

	.price {
		font-size: 13px;
		display: block;
		margin: 5px 0 15px;
		line-height: 13px;
		color: $text-color;

		ins {
			text-decoration: none;
		}
	}

	.woocommerce-loop-product__title {
		margin: 15px 0 10px;
		color: $accent-color;
		font-size: 18px;
	}

	.star-rating {
		display: block;
		margin: 0 auto 16px;
	}

	.button,
	.added_to_cart {
		letter-spacing: 0;
		position: relative;

		&.loading {
			opacity: 0.5;
			padding-right: 2.618em;

			&::after {
				@include font-awesome(\f110, 'solid');
				position: absolute;
				top: 9px;
				right: 11px;
				animation: rot .8s infinite linear;
			}
		}
	}
}

/* Ratings
========================================= */
.wc-block-grid__products .wc-block-grid__product-rating .star-rating,
.wc-block-review-list-item__rating .wc-block-review-list-item__rating__stars {
	overflow: hidden;
	display: inline-block;
	position: relative;
	height: 1.2em;
	line-height: 1.2em;
	font-size: 12px;
	width: 68px;

	&::before {
		@include font-awesome(\f005\f005\f005\f005\f005, 'regular');
		float: left;
		top: 0;
		left: 0;
		position: absolute;
		color: $yellow;
		opacity: .75;
	}

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

		&::before {
			@include font-awesome(\f005\f005\f005\f005\f005, 'solid');
			top: 0;
			position: absolute;
			left: 0;
			color: $yellow;
		}
	}
}

/* Product block
========================================= */
.wc-block-grid {
	.wc-block-grid__products {
		margin-bottom: 0;


		.wc-block-grid__product-add-to-cart {
			.add_to_cart_button,
			.added_to_cart {
				@include button;
				@include button-default;
				@include button-sm;
				letter-spacing: 0;
				position: relative;

				&.loading {
					opacity: 0.5;
					padding-right: 2.618em;

					&::before {
						@include font-awesome(\f110, 'solid');
						position: absolute;
						top: 9px;
						right: 11px;
						animation: rot .8s infinite linear;
					}
				}
			}

			a.added {
				&::after {
					display: none;
				}
			}
		}

		.added_to_cart {
			padding: 9px 24px;
		}

		.wc-block-grid__product-title {
			margin: 15px 0 10px;
			color:	$accent-color;
			font-size: 18px;
		}

		.wc-block-grid__product-price {
			font-size: 13px;
			display: block;
			margin: 5px 0 15px;
			line-height: 13px;
			color: $text-color;
		 }

		.wc-block-grid__product-onsale {
			z-index: 10;
			position: absolute;
			top: 5px !important;
			right: 20px;
			width: auto;
			left: auto !important;
			font-size: 13px;
			text-align: center;
			background-color: $accent-color;
			padding: 3px 12px;
			color: $white;
			text-transform: none;
		}

		.wc-block-grid__product-rating {
			margin: -5px auto 10px;
		}

		> .wc-block-grid__product {
			margin-bottom: 50px;
		}

		.wc-block-grid__product-add-to-cart {
			a.added::after,
			a.loading::after {
				content: '' !important;
				margin-left: 0;
			}
		}
	}
}

/* Reviews
========================================= */
.wc-block-review-list {
	padding-left: 0;

	.wc-block-review-list-item__item {
		margin-bottom: 25px;
	}

	.wc-block-review-list-item__info {
		display: flex;
		flex-direction: row-reverse;
		margin-bottom: 15px;

		.wc-block-review-list-item__image {
			width: 50px;
			height: 50px;
		}

		.wc-block-review-list-item__meta {
			flex-grow: 1;
			align-items: start;
			flex-flow: column;

			.wc-block-review-list-item__author,
			.wc-block-review-list-item__product {
				line-height: normal;
				display: block;
				margin-bottom: 0;
				font-size: 14px;
				color:$accent-color;
				font-weight: 700;
			}

			.wc-block-review-list-item__product {
				+ .wc-block-review-list-item__author {
					font-size: 12px;
				}
			}

			.wc-block-review-list-item__rating {
				display: block;
				margin: 10px 0 5px;
				line-height: 1em;
			}

			.wc-block-review-list-item__author + .wc-block-review-list-item__published-date::before {
				display: none;
			}
		}
	}
}

/* Product Grid
========================================= */
.wc-block-grid { // Overcoming specificity
	.wc-block-grid__products {
		@include make-row($grid-gutter-widths);
	}
}

.wc-block-grid__products {
	.wc-block-grid__product {
		.has-4-columns & {
			@include make-col-ready($grid-gutter-widths);
			@include media-breakpoint-up(xs) {
				@include make-col(12);
			}
			@include media-breakpoint-up(sm) {
				@include make-col(6);
			}
			@include media-breakpoint-up(lg) {
				@include make-col(3);
			}
		}

		.has-3-columns & {
			@include make-col-ready($grid-gutter-widths);
			@include media-breakpoint-up(xs) {
				@include make-col(12);
			}
			@include media-breakpoint-up(sm) {
				@include make-col(6);
			}
			@include media-breakpoint-up(lg) {
				@include make-col(4);
			}
		}

		.has-2-columns & {
			@include make-col-ready($grid-gutter-widths);
			@include media-breakpoint-up(xs) {
				@include make-col(12);
			}
			@include media-breakpoint-up(sm) {
				@include make-col(6);
			}
		}
	}
}

/* Product Categories
========================================= */
.wc-block-product-categories {
	.wc-block-product-categories__dropdown {
		flex-grow: 1;
		padding-right: 10px;
	}

	.wc-block-product-categories__button {
		background-color: $accent-color;
		color: $white;

		&:not(:disabled):not([aria-disabled="true"]) {
			&:hover {
				background-color: $accent-color-alt;
				box-shadow: none;
				color: $white;
			}
		}
	}
}

/* Product Search
========================================= */
.wc-block-product-search {
	.wc-block-product-search__button {
		background-color: $accent-color;
		color: $white;
		border: 2px solid $accent-color;

		&:not(:disabled):not([aria-disabled="true"]) {
			&:hover {
				background-color: $accent-color-alt;
				box-shadow: none;
				color: $white;
			}
		}
	}
}
