/* Työ ja huomiovaatteet */

.NavigationList .CategoryID-540 > a:before {
    content: "\f82c";
    margin-right: 0.5em;
}

/* Urheilu ja seuravaatteet */

.NavigationList .CategoryID-571 > a:before {
    content: "\f70c";
    margin-right: 0.5em;
}

/* Vaatteet */

.NavigationList .CategoryID-520 > a:before {
    content: "\f553";
    margin-right: 0.5em;
}

/*.Banner-Wide[data-background*="[blue]"] .BannerContent {
	background: rgba(40, 45, 70, 0.7);
}*/

.ProductListPage .Banner-Wide .AspectRatio::before {
  padding-top: 40%;
}

.Catalog-Product a {
    align-self: center;
    background-color: var(--color-accent-5);
    border-color: hsl(40, 56%, 50%);
    border-radius: 3rem;
    color: var(--color-light);
    display: flex;
    font-size: 2rem;
    font-weight: bold;
    height: 5rem;
    justify-content: center;
    padding-block: .8rem;
    text-decoration: none;
}

.Catalog-Product a:hover {
    background-color: var(--color-accent-1-darker);
}

/*------------------------------------------------------------------------------*/
/* Product Images Section
/*------------------------------------------------------------------------------*/

.ProductImages {
	margin-bottom: 7rem;
	max-width: 889px;
}

@media screen and (min-width: 800px) {
	.ProductImages .ProductThumbnails {
		display: none;
	}
}

/*------------------------------------------------------------------------------*/
/* Product Main Image
/*------------------------------------------------------------------------------*/

.ProductMainImage {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 1rem;
	position: relative;
}

.ProductMainImageContainer {
	align-items: center;
	border-radius: var(--border-radius-medium);
	display: flex;
	flex-wrap: wrap;
	overflow-x: auto;
	z-index: 1;
}

.ProductMainImageContainer .AspectRatio:before {
    padding-top: calc(var(--list-item-image-ratio)* 50%);
}

.ProductMainImageContainer::-webkit-scrollbar {
	display: none;
}

.ProductMainImageContainer .ProductImage {
	padding: 0 1.5rem 1.5rem 0;
	width: 33.33%;
}

.ProductMainImageContainer .ProductImage:only-child {
	margin: 0 auto;
	width: 100% !important;
}

.ProductMainImageContainer .ProductImage:nth-child(-n+2) {
	width: 50%;
}

@media screen and (max-width:800px) {
	.ProductMainImageContainer {
		flex-wrap: nowrap;
	}
	.ProductMainImageContainer .ProductImage {
		min-width: 100%;
	}
}

@media screen and (max-width:500px) {
	.ProductMainImageContainer .ProductImage {
		padding: var(--container-page-margin);
	}
}

/* Dark Mode */

.Theme-Dark .ProductMainImageContainer {
	border-width: 0;
}

/*------------------------------------------------------------------------------*/
/* Product Main Image Actions
/*------------------------------------------------------------------------------*/

.ProductMainActions {
	display: none;
	gap: 1rem;
	justify-content: space-between;
	padding-inline: 1.5rem;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.ActionButton {
	font-size: 0;
	height: 40px;
	pointer-events: auto;
	width: 40px;
}

.ActionButtonPrev::before,
.ActionButtonNext::after  {
	font-family: var(--fa-style-family);
	font-size: var(--font-size-regular);
}

.ActionButtonPrev::before {
	content: "\f053";
}

.ActionButtonNext::after {
	content: "\f054";
}

/*------------------------------------------------------------------------------*/
/* Product Thumbnails
/*------------------------------------------------------------------------------*/

.ThumbnailBlock {
	display: none;
}

@media screen and (max-width:860px) {
	.ThumbnailBlock {
		display: block;
	}
}

.ProductThumbnails {
	grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
	gap: 1rem;
	list-style: none;
}

.ProductThumbnails li {
	padding-bottom: 10px;
}

.ProductThumbnail {
	background-color: var(--image-background-color);
	display: block;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	overflow: hidden;
	z-index: 1;
}

.ProductThumbnail .AspectRatio {
	align-items: center;
	display: flex;
}

.ProductThumbnail .AspectRatio:before {
	padding-top: calc(var(--list-item-image-ratio)* 75%);
}

.ProductThumbnail img {
	height: auto;
	object-fit: contain;
	width: 100%;
}

.ActiveThumb .ProductThumbnail {
	border-color: transparent;
	box-shadow: 0 0 0 2px var(--color-accent);
}

/* Dark Mode */

.Theme-Dark .ProductThumbnail {
	border-width: 0;
}

@media screen and (max-width: 500px) {
	.ProductImages {
		margin-top: calc(var(--margin) * -1);
	}

	.ProductMainImageContainer {
		border: 0;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		margin-inline: calc(var(--container-page-margin) * -1);
		overflow-x: auto;
	}

	.ProductMainActions {
		display: none;
	}
}

/*------------------------------------------------------------------------------*/
/* Category Slider
/*------------------------------------------------------------------------------*/

.CategorySlider {
	--gap: var(--grid-list-gutter);
	-ms-overflow-style: none;
	display: grid;
	gap: var(--gap);
	grid-auto-columns: minmax(200px, 20%);
	grid-auto-flow: column;
	overflow-x: auto;
	scroll-padding-left: var(--container-page-margin);
	scroll-padding-right: var(--container-page-margin);
	scroll-snap-type: none;
	scrollbar-width: none;
}

.CategorySlider::-webkit-scrollbar {
	display: none;
}

.CategorySliderItem {
	background-color: var(--background-color-shade-1);
	border-radius: var(--border-radius-images);
	overflow: hidden;
	scroll-snap-align: center;
}

.CategorySliderItem a {
	text-decoration: none;
}

.CategorySliderLink .AspectRatio {
	--aspect-ratio: calc(var(--product-image-ratio) * 100%);
	background-color: var(--image-background-color);
}

.CategorySliderLink .AspectRatio img {
	border-radius: var(--border-radius-images) var(--border-radius-images) 0 0;
	object-fit: contain;
	height: auto;
	width: 100%;
}

.CategorySliderText {
	align-items: center;
	color: var(--color-text);
	display: flex;
	font-weight: bold;
	height: 5rem;
	justify-content: center;
}

@media screen and (max-width: 480px) {
	.CategorySlider {
		scroll-snap-type: inline mandatory;
	}
}

.no-before::before {
  display: none !important;
}

.no-before span {
  width: 25px;
  text-align: center;
  color: var(--color-accent-2);
}

.CategoryLeftBlock a::before {
  display: inline-block;
  width: 25px;  
  text-align: center;
}