/* --------------------------- Product Listing Block -------------------------- */

.product-listing
{
	position: relative;
	padding: var(--padding_content_area) 0;
}

.product-listing.padding-top
{
	padding-top: var(--padding_content_area);
	padding-bottom: 0;
}

.product-listing.padding-bottom
{
	padding-top: 0;
	padding-bottom: var(--padding_content_area);
}

.product-listing .subtitle
{
	display: block;
	margin-bottom: 10px;
	font-size: var(--heading_tag_size_small);
	line-height: var(--heading_tag_line_height_small);
	color: var(--theme_color_tertiary);
	padding: 0;
}

.product-listing-content, .product-listing-btn
{
	margin-bottom: var(--gap_spacing_large);
}

.product-listing-content a
{
	color: var(--theme_color_tertiary);
}

.product-listing-content a:hover
{
	color: var(--theme_color_secondary);
}

.product-listing-btn .btn-alt
{
	display: inline-block;
}

.product-listing .product-list
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: var(--gap_spacing_large);
}

.product-listing .product-listing-item
{
	border: 1px var(--border_color_default) solid;
	display: grid;
	grid-template-rows: max-content auto;
}

.product-listing .product-listing-item figure
{
	margin: 0;
	margin-right: var(--gap_spacing_large);
}

.product-listing .product-listing-item img
{
	position: relative;
	margin-top: -1px;
	margin-left: -1px;
	display: block;
	-webkit-box-shadow: 0px 0px 10px 10px rgba(0,0,0,0.05);
	-moz-box-shadow: 0px 0px 10px 10px rgba(0,0,0,0.05);
	box-shadow: 0px 0px 10px 10px rgba(0,0,0,0.05);
}

.product-listing .product-content
{
	padding: var(--gap_spacing_default);
	display: grid;
	grid-template-rows: max-content auto max-content;
}

.product-listing .product-content h3
{
	text-transform: lowercase;
	font-size: var(--heading_tag_size_medium);
	line-height: var(--heading_tag_line_height_medium);
	margin-bottom: var(--gap_spacing_default);
}

.product-listing .product-content h3 a
{
	color: #000;
}

.product-listing .product-content h3 a:hover
{
	color: var(--theme_color_secondary);
}

.product-listing .product-actions
{
	border-top: 1px var(--theme_color_tertiary) solid;
	padding-top: 10px;
}

.product-listing .product-actions ul
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: var(--gap_spacing_default);
	padding: 0;
}

.product-listing .product-actions ul li
{
	list-style-type: none;
}

.product-listing .product-actions ul li:last-child
{
	text-align: right;
}

.product-listing .product-actions ul li a
{
	color: var(--theme_color_tertiary);
}

.product-listing .product-actions ul li a:hover
{
	color: var(--theme_color_secondary);
}

.product-listing .product-actions ul li a.added_to_cart
{
	background-color: var(--theme_color_tertiary);
	color: #FFF;
	padding: 5px 10px;
	display: block;
	width: 100px;
	text-align: center;
	margin-top: 10px;
	transition: all 0.5s ease;
}

.product-listing .product-actions ul li a.added_to_cart:hover
{
	background-color: var(--theme_color_secondary);
	color: #000;
}

@media (max-width: 1400px) {

	.product-listing
	{
		padding: var(--gap_spacing_extra_large) 0;
	}

	.product-listing.padding-top
	{
		padding-top: var(--gap_spacing_extra_large);
		padding-bottom: 0;
	}
	
	.product-listing.padding-bottom
	{
		padding-top: 0;
		padding-bottom: var(--gap_spacing_extra_large);
	}

}

@media (max-width: 1000px) {

	.product-listing .product-list
	{
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 768px) {

	.product-listing .product-content h3
	{
		font-size: var(--heading_tag_size_small);
		line-height: var(--heading_tag_line_height_small);
	}

	.product-listing .product-actions ul
	{
		display: block;
	}

	.product-listing .product-actions ul li:last-child
	{
		margin-top: 10px;
		text-align: left;
	}

}

@media (max-width: 500px) {

	.product-listing .product-list
	{
		grid-template-columns: 1fr;
	}

	.product-listing .product-listing-item img
	{
		width: 100%;
	}

	.product-listing .product-actions ul li a.added_to_cart
	{
		margin-left: var(--gap_spacing_default);
		margin-top: 0;
		float: right;
	}

}