/* Mixins */
@import "compass/css3/box-shadow";

/* Remove theme's list style */
.woocommerce ul li:before,
.woocommerce-page ul li:before {
	display:none !important;
}

.woocommerce {
	/* Fonts */
	ul.products li.product a h3 {
		line-height:1em;
		margin-bottom:5px;
	}

	/* Input Elements */
	.radio, .checkbox {
		padding:0;
	}
	form.checkout_coupon,
	form.login,
	form.register {
		background:#fff;
		border:none;
	}

	form.login {
		label.inline {
			margin-left:12px;

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

	/* Demo Text */
	&.woocommerce-demo-store {
		margin-top: 64px;

		p.demo_store {
			position:absolute;
		}
	}

	/* Widgets */
	.widget_price_filter {
		.price_slider_amount .button {
			font-size: 10px;
			padding: 10px;
			color: #777;
			border-color: #dcdcdc;
			border-width: 1px !important;
		}
		.price_label {
			float: right;
			padding: 0 10px;
			border-radius: 3px;
			border: 1px solid #dcdcdc;
		}
		.ui-slider .ui-slider-handle, .woocommerce-page .widget_price_filter .ui-slider .ui-slider-handle {
			background-color: #fff;
			background-image: none;
			height: 20px;
			width: 20px;
			top: -5px;
			border: none;
			@include box-shadow(0px 1px 4px rgba(0,0,0,0.25), 0px 8px 8px rgba(0,0,0,0.05), 0px 1px 0px #fff inset);
		}
		.price_slider_wrapper .ui-widget-content {
			background:#dcdcdc;
			margin-bottom: 28px;
		}
	}
	.widget_layered_nav_filters {
		ul li {
			padding: 0 10px 1px 0;

			a {
				color: #777;
			}
		}
	}
	.widget_product_search {
		label {
  			display: none;
  		}
  		input[type="search"] {
  			margin-bottom:20px;
  		}
	}

	/* Account Info */
	.woocommerce-account & {

		form input[type="submit"] {
			margin-top: 20px;
		}

		.addresses .title {

			h3, .edit {
				display:inline-block;
				float:none;
				vertical-align: baseline;
			}

			.edit {
				line-height: 1em;
				margin-left: 5px;
				padding: 5px;
				background: #fff;
				font-size: 12px;
				border-radius: 2px;
			}
		}
	}
	p.myaccount_user {
		background: #fff;
		padding: 20px 25px;
	}

	/* Info Div */
	.woocommerce-error,
	.woocommerce-message {
		border: none;
		color: #fff;
		background:#222;

		&:before {
			color:#fff;
		}
	}
	.woocommerce-info {
		border:none;
		color:#777;
		background:#fff;

		&:before {
			font-family:'FontAwesome';
			content: "\f05a";
			color:#777;
		}
	}
	.woocommerce-error {
		background: #b81c23;
	}

	/* Pagination */
	nav.woocommerce-pagination {
		position: relative;
		margin-bottom: 40px;

		&:after {
			content: ' ';
			position:absolute;
			left:0;
			width:100%;
			margin: 10px 0 40px 0;
			text-align: center;
			border-bottom-style: solid;
			border-bottom-width: 3px;
			border-color: #e7e7e7;
			border-color: rgba(0, 0, 0, 0.05);
			height: 6px;
		}

		.page-numbers {
			padding: 0 10px;
			position:relative;
			z-index: 1;
		}

		ul {
			border:none;

			li {
				margin-right:5px;
				border:none;

				a, span {
					min-width: 39px;
					line-height: 36px;
					padding: 0;
				}
				a:focus, a:hover, span.current {
					background:none;
					color:#000;
				}
			}
		}
	}

	/* Checkout Page */
	.woocommerce-checkout & {
		h2 {
		 	font-size: 18px;
			margin-bottom:20px;
		}

		ul.order_details {
			margin-bottom:20px;

			li {
				list-style: none;
				padding-right: 15px !important;
				padding-left: 15px !important;

				&.order {
					padding-left: 0 !important;
				}
			}
		}
	}

	/* Page Title */
	&.woocommerce-page {

		.pagetitleloading {
			margin-bottom: 0;
		}
		.sidebar {
			padding-top: 36px;
			margin-top: 3px;
		}

		.woocommerce-content {
			padding-top:40px;
		}
	}

	/* Onsale Badge */
	span.onsale {
  		min-height: 3.75em;
  		min-width: 3.75em;
  		z-index:4;
  	}

  	/* Button Loading */
  	#respond input#submit.loading,
  	a.button.loading,
  	button.button.loading,
  	input.button.loading {
  		background:none;
  		min-height:0;
  	}
  	#respond input#submit.loading:after,
  	a.button.loading:after,
  	button.button.loading:after,
  	input.button.loading:after {
  		top:1.2em;
  	}
  	#respond input#submit.alt:hover,
  	a.button.alt:hover,
  	button.button.alt:hover,
  	input.button.alt:hover {
  		background: #000;
  		border-color: #000;
  	}

  	/* Price */
  	div.product p.price,
  	div.product span.price {
  		color:#222;

  		.amount {
  			font-weight: bold;
  		}
  	}
	.price del, .price ins {
	    display: inline-block;
	    width: auto;
	    float: left;
	    margin-right: 10px;
	}
	.price:after {
		content: "";
		display: table;
		clear: both;
	}
	.panel {
		margin-bottom: 0;
		background-color: transparent;
		border: none;
		border-radius: 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	ul.products li.product .button {
		margin-right:10px;
	}

  	#content div.product p.price del,
  	#content div.product span.price del,
  	ul.products li.product .price del,
  	div.product p.price del,
  	div.product span.price del,
  	&.woocommerce-page #content div.product p.price del,
  	&.woocommerce-page #content div.product span.price del,
  	&.woocommerce-page div.product p.price del,
  	&.woocommerce-page div.product span.price del {
  		color: rgba(150,150,150,0.5);
  	}

  	.button, button.button {
  		&:disabled {
  			background:#999 !important;
  			text-color:#fff !important;
  			border-color:#999 !important;
  		}
  	}

  	/* Tabs */
  	ul.tabs li {
  		height: auto;

  		a {
		    border: none;
		    font-size:inherit;
		    height:auto;

		    &:hover {
				box-shadow: none;
				-moz-box-shadow: none;
				-webkit-box-shadow: none
		    }
		}
	}
	div.product .woocommerce-tabs ul.tabs {
		padding-left: 0;

		li {
		    border-radius: 0;
		    border: 0;
		    margin:0;

		    &.active {
		    	color: #fff;
		    }

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

	/* Reviews List */
	#reviews {

		h3 {
			margin: 0;
			float: none;
			text-align: left;
			margin-bottom: 40px;
			margin-top: 20px;
		}

		#review_form #respond p.comment-form-rating {
			margin-bottom: 30px;
		}

		#comments ol.commentlist {
			padding: 0;

			li .comment-text {
			    border: none;
			    margin-left: 80px;
			}

			li img.avatar {
			    padding: 1em 1em;
			    background: transparent;
			    border: none;
			}

			.comment_container {
			    background: #fff;
			    padding-bottom: 0.5em;
			}
		}
	}

	/* Quantity */
	.quantity {
		line-height:35px;
		input.qty {
			border: none;
			background: #fff;
			height:auto;
			width:38px;
			line-height:35px;
		}
		&.buttons_added {
			input.qty::-webkit-outer-spin-button,
			input.qty::-webkit-inner-spin-button {
			    -webkit-appearance: none;
			    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
			}
		}
	}
	.quantity .minus,
	&.woocommerce-page .quantity .minus,
	.quantity .plus,
	&.woocommerce-page .quantity .plus {
		position:relative;
	    float: left;
	    line-height: inherit;
	    height: 100%;
	    border: none;
	    background: #e3e3e3;
	    border-radius: 0;
	    -webkit-border-radius: 0;
	    color: #555;
	    width:35px;
	    font-size: 14px;
	}


	/* Single Product Page Alterations */
	&.single-product {

		/* Top Margin */
		.product {
			margin-top: 50px;
		}

		/* Label */
		td.label {
	  		color:#000;
	  		font-size:100%;
	  		display:table-cell;
	  	}

	  	/* Variations table */
	  	div.product form.cart .variations td {
		    vertical-align: middle;
		}
		div.product form.cart .variations select {
			margin-bottom:0;
		}

		div.product form.cart .button {
			text-transform: uppercase;
			font-weight: bold;
			cursor: pointer;
			display: inline-block;
			line-height: 1;
			padding: 12px 14px;
			position: relative;
			text-decoration: none;
			font-size: 12px;
			-moz-transition: all 0.3s ease 0s;
			-webkit-transition: all 0.3s ease 0s;
			-o-transition: all 0.3s ease 0s;
			transition: all 0.3s ease 0s;
			-webkit-border-radius: 3px;
			-moz-border-radius: 3px;
			-ms-border-radius: 3px;
			-o-border-radius: 3px;
			border-radius: 3px;
  		}

		/* Remove reset variations link */
		.reset_variations {
			display:none;
		}

		.woocommerce-tabs {
			margin-bottom:60px;
		}

		/* Related Posts */
		.related {
			margin-bottom:50px;
		}
		.related ul li.product,
		.related ul.products li.product,
		.upsells.products ul li.product,
		.upsells.products ul.products li.product,
		&.woocommerce-page .related ul li.product,
		&.woocommerce-page .related ul.products li.product,
		&.woocommerce-page .upsells.products ul li.product,
		&.woocommerce-page .upsells.products ul.products li.product {
			width: 23.45%;
			margin-right: 2%;
			margin-bottom: 2%;
		}
		.products.related ul.products li.product.last,
		&.woocommerce-page .products.related ul.products li.product.last {
			margin-right:0;
		}
	}

	/* Checkout Alterations */
	table.cart img {
		width: 90px !important;
  		height: 90px !important;
	}
	table.cart td {
  		padding: 25px 10px!important;
	}
	table.cart td.actions .coupon .input-text {
		min-width: 200px;
		padding: 10px 12px;
		border: none;
	}
	table.shop_table {
		border: none;
	}
	table.shop_table td.actions {
		border: none;
		background:#fff;
		padding: 25px !important;
	}

	/* Shop Page Template */
	.rightside {

		ul.products li.product, .woocommerce-page .span_9 ul.products li.product {
			width: 32%;
			margin-right: 2%;
		}
		ul.products li.product.last, .woocommerce ul.products li.product.last {
			margin-right:0;
		}
	}
}
/* Cross Sells Width */
.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells {
	width:100%;
}
.woocommerce .cart-collaterals .cross-sells ul.products li,
.woocommerce-page .cart-collaterals .cross-sells ul.products li {
	width: 25%;
	padding-right: 2%;
}
.woocommerce-cart h2,
.woocommerce .related.products h2,
.woocommerce-checkout h2,
.woocommerce.single-product h2 {
	font-size: 25px;
	margin-bottom: 25px;
}
td.product-quantity {
	width: 150px;
}
th {
	vertical-align: top;
}
.cart_totals td {
	padding-left: 10px;
}
.woocommerce-page {
	.content {
		padding-top:40px;
	}
	#ship-to-different-address {
		label {
			display:inline;
			margin-right:10px;
		}
	}
}
.woocommerce-cart {
	.cart-table {
		padding-right:50px;
	}
}

.woocommerce-checkout {
	.woocommerce table.shop_table {
		tfoot > tr:first-child > th,
		tfoot > tr:first-child > td {
		    border-top: 2px solid #777;
		}
		thead tr:nth-child(odd) {
		    background:transparent;
		}
		tr:nth-child(odd) {
		    background:#fff;
		}
		tr:nth-child(even) {
		    background:#f9f9f9;
		}
		tbody {
		    border:1px solid #dcdcdc;
		}
		tfoot tr:nth-child(odd),
		tfoot tr:nth-child(even) {
		    background:transparent;
		}
		td.product-quantity {
			min-width:150px;
		}
	}
	#payment  {
		label {
			display:inline;
		}
		ul.payment_methods li {
			list-style:none;
		}
		div.payment_box:after {
			top:-1px;
		}
	}
}

.select2-drop input {
	padding: 0 !important;
	margin: 0 !important;
}

.product_meta span {
	display: block;
}
.product_meta span.sku {
	display:inline;
}
.woocommerce div.product form.cart .group_table td.label {
	white-space: normal;
}