.woocommerce-products-header {
	padding: 0 var(--gutter-width);
	margin: var(--space-large) auto;
}

/**
 * Product Archives
 */

.position-wc_archive_before_content .page-section {
	margin: var(--space-large) 0;	
}

/* WC product Result Count and Orderby form */
.product-results-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

p.woocommerce-result-count {
	margin: 0;
	line-height: 40px; /* Magic Number? - Matches the height of the select box */	
}

/* Shop Sidebar is usually collapsable */
.sidebar-shop {
	position: relative;	
}

.collapsable-sidebar-shop,
.shop-widget-collapsable {
	position: absolute;
	top: 100%;
	left: -9999em;
	opacity: 0;
	transition: opacity 0.25s ease-out;
}

.collapsable-sidebar-shop.toggled,
.shop-widget-collapsable.toggled {
	position: static;
	opacity: 1;	
}

/* Usual styling of product filter widgets is checkbox list */
ul.product-categories,
ul.product-categories ul,
ul.woocommerce-widget-layered-nav-list {
	list-style: none;
	padding: 0;	
}

ul.product-categories a,
ul.woocommerce-widget-layered-nav-list a {
	padding-left: 1.5em;
	position: relative;
}

ul.product-categories a::before,
ul.woocommerce-widget-layered-nav-list a::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 1em;
	height: 1em;
	border: 1px solid var(--gray-light);
	transform: translateY(-50%);
}

ul.product-categories .current-cat-parent > a::after,
ul.product-categories .current-cat > a::after,
ul.woocommerce-widget-layered-nav-list .chosen a::after {
	font-family: icon !important;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;	
	content: var(--icon-ftm-check);
	display: block;
	position: absolute;
	left: 0.125em;
	top: 50%;
	transform: translateY(-50%);
}

.widget_layered_nav_filters ul {
	list-style: none;
	padding: 0;
}

.widget_layered_nav_filters a::before {
	font-family: icon !important;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

  	/* Better Font Rendering =========== */
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
	
	content: var(--icon-ftm-close);
}

.widget-toggle .widget-title {
	font: inherit;
	margin: 0;
}

ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
    grid-gap: var(--space-medium);
	grid-template-columns: repeat(2, 1fr);
}

.ftm-parent-shop-loop-image-wrapper {
	position: relative;
}

.product-inner .onsale {
	position: absolute;
	z-index: 9;
	top: 0;
	background-color: var(--color-primary-500);
	border-radius: 0 0 4px 4px;
	border-radius: 4px;
	color: var(--color-text-inverse);
	display: flex;
	font-family: var(--label-small-font-desktop);
	font-size: var(--label-small-size-rem-desktop);
	font-weight: var(--label-small-weight-desktop);
	left: 7px;
	line-height: 1;
	padding: 5px;
	transform: translateY(-50%);
}

.woocommerce-LoopProduct-link {
	color: inherit;
	text-decoration: none;	
}

.woocommerce-loop-product__title {
	font-size: var(--heading-medium-size-rem-smartphone);
}

/* Product images */
.product img {
	width: 100%;
	height: auto; 
}

@keyframes infinite-spinning {

  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: auto;
}

.archive-add-to-cart-button-text {
	white-space: nowrap;
	text-transform: capitalize;	
}

.ajax_add_to_cart.loading .archive-add-to-cart-button-text,
.ajax_add_to_cart.added .archive-add-to-cart-button-text {
	font-size: 0;
}	

.ajax_add_to_cart.loading::before {
	content: 'Adding';	
}

.ajax_add_to_cart.added::before {
	content: attr(data-already-in-cart-text);
	white-space: nowrap;	
}

.ajax_add_to_cart::after {
	content: var(--icon-wc-spinner);
	font-family: WooCommerce !important;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: absolute;
	opacity: 0;
	display: inline-block;
	margin-left: 1em;
	transform: rotate(0);
}

.ajax_add_to_cart.loading::after {
	position: static;
	opacity: 1;
	content: var(--icon-wc-spinner);
	animation: infinite-spinning 1s infinite;
	
}

.ajax_add_to_cart.added::after {
	position: static;
	opacity: 1;
	content: var(--icon-wc-checkmark);
}

/* link that appears */
.added_to_cart.wc-forward {
	display: inline-block;
	text-decoration: none;
	font-size: var(--body-small-size-rem-desktop);
}

/**
 * WooCommerce widgets
 */

 /* 6-1-19 - This still needs to be reworked... */
.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

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

.widget_price_filter .price_slider_amount .button {
	float: left;
	line-height: normal;
}

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

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	cursor: ew-resize;
	outline: none;
	background: var(--color-primary-500);
	box-sizing: border-box;
	margin-top: -.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover, .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: var(--shadow-selection-soft);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: var(--color-primary-500);
	border-radius: 0.5em;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--color-overlay-soft);
}

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

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

.ftm-parent-after-shop-loop-item-wrapper .see-details {
	display: inline-block;
	margin-left: var(--space-small);
	text-decoration: underline;
}

.added_to_cart {
	display: none !important;
}

/* 3-18-21 - Retired buttons are inverted (these only show in searches) */
.product_tag-retired-designs a.button {
	background-color: var(--color-white);
	border: 1px solid currentcolor;
	color: var(--color-primary-500);
}

a.product-details {
	color: var(--color-neutral-800, inherit);
	padding-right: 20px;
	text-decoration: underline;
}

span.only-x-left-text {
	margin-left: var(--space-xxxsmall);
}

/* We're adding a custom badge to anything in the Exclusives category */
.product-inner .onsale.exclusive {
	background-color: var(--color-secondary-500);
}

.onsale.exclusive .ftmicon-heart {
	font-size: 0.875em;
	margin-right: 5px;
}

/* If they're both showing we'll need to reposition one */
.sale .product-inner .onsale.exclusive {
	left: 60px;
}

h2.woocommerce-loop-product__title {
	font: inherit;
	font-weight: var(--typeface-weight-medium);
	margin: var(--space-normal) 0 0;
}

.ftm-parent-shop-loop-after-title-wrapper {
	margin-bottom: var(--space-xsmall);
}

.product-sku:not(.ant-table-cell) {
	display: inline-block;
	font-size: var(--body-small-size-rem-desktop);
	line-height: var(--body-small-line-height-rem-desktop);
	margin-right: 0.5em;
}

/* 4-28-22 - "Site Improvements" - Change product grid heading styles to match homepage product grid heading styles. */
.products > h2 {
	text-align: center;

}

.products > h2::after {
	background-image: url(../images/zig-zag.svg);
	content: "";
	display: block;
	height: 6px;
	margin: var(--space-small) auto;
	width: 70px;
}

@media (min-width: 37.5em) {

	ul.products {
		column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
		row-gap: 60px;
	}

}

ul.products .price,
.archive-post.product .price {
	align-items: baseline;
	display: flex;
	flex-direction: row-reverse;
	font-size: var(--title-large-size-rem-smartphone);
	font-weight: var(--label-large-weight-desktop);
	justify-content: flex-end;
	line-height: var(--title-large-line-height-rem-smartphone);
}

.price del {
	color: var(--color-neutral-400);
	font-size: 0.760914em;
	font-weight: var(--typeface-weight-regular);
	line-height: 1.5;
	margin-left: 0.5em;
	text-decoration: none;
}

.price del::before {
	content: "Reg ";
}

.price ins {
	text-decoration: none;
}

@media (min-width: 75em) {

	/* Shop archives go to 3 columns */
	ul.products {
		grid-template-columns: repeat(3, 1fr);
	}

}

@media (min-width: 64em) {

	.product-results-inner {
		justify-content: flex-end;
	}

	.product-results .woocommerce-ordering {
		margin-left: var(--space-xlarge);
	}

	.wc-product-columns .ftm-posts-pagination-nav {
		margin-bottom: 0;
	}

}

/* Product Archive Pages */
.al-product-sku-reviews {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
}
