.single-products .row { padding-left: 15px !important; row-gap: 26px; }

.content-section-wrap > .content-section.product-main {
	margin-top: 112px;
}

.product-gallery {
	display: flex;
	height: 100%;
	
	.product-thumbnails {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		max-height: 100%;
		padding: 0;
		margin: 0 1rem 0 0;
		list-style: none;
		row-gap: 0.5rem;
		
		> li {
			padding: 0;
			margin: 0;
			width: 60px;
			height: 60px;
		}
		
		button {
			position: relative;
			border-radius: 6px;
			padding: 0;
			overflow: hidden;
			background: transparent;
			border: none;
			appearance: none;
			cursor: pointer;
			
			> img {
				display: block;
				object-fit: cover;
				pointer-events: none;
			}
		}
		
		.active > button::after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(0, 0, 0, 0.15);
		}
	}
	
	.product-main-image {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.product-information h1 {
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.25;
	margin-bottom: 0;
}
.product-information .subtitle {
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.25;
	margin-bottom: 0;
	opacity:0.7;
}

.product-information .description {
	margin-top: 3rem;
}

.additional-info-title {
	margin-top: 3rem;
	margin-bottom: 1.5rem;
	line-height:1;
	font-size:14px;
	text-transform: uppercase;
}

.additional-info {
	.accordion-item {
		margin-bottom: 0.75rem;
		
		.accordion-title-container {
			h3 {
				button {
					display: flex;
					width: 100%;
					align-items: center;
					gap: 10px;
					border: 0;
					background:#F6F6F6;
					border-radius: 12px;
					cursor: pointer;
					font-size: 18px;
					font-weight: 400;
					line-height: 1.5;
					padding: 12px 24px;
				}
				button::after {
					content: '+';
					margin-left: auto;
				}
			}
		}
		
		
		.accordion-item-content {
			overflow: hidden;
			visibility: hidden;
			height: 0;
			transition: height 0.3s ease-in, visibility 0.3s ease-in 0.3s;
			
			> .accordion-item-container {
				padding: 12px 24px;
				visibility: visible;
				transition: unset;
				height: auto;
			}
		}
		
		&.active {
			.accordion-title-container > h3 > button::after {
				content: '-';
			}
			.accordion-item-content {
				transition: height 0.3s ease-in, visibility 0.3s ease-in 0s;
				visibility: visible;
			}
		}
	}
}

.content-section-wrap > .content-section.related-products {
	margin-top: 160px;
	
	> h2 {
		margin-bottom: 4rem;
	}
	
	> ul {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		column-gap: 1.5rem;
		row-gap: 3rem;
		
		> li {
			max-width: calc(25% - 4.5rem / 4);
			width: calc(25% - 4.5rem / 4);
			margin: 0;
			padding: 0;
			
			a {
				color: #231F1F;
			}
			a:hover, a:focus {
				text-decoration: none;
			}
			
			.product-image {
				border-radius: 12px;
				overflow: hidden;
				height: 0;
				padding-bottom: 100%;
				position: relative;
				
				> img {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					object-fit: contain;
				}
			}
			
			.product-info {
				margin-top: 0.5rem;
				.product-subtitle {
					opacity: 0.7;
				}
			}
		}
	}
}

.content-section-wrap > .content-section.product-category-main {
	margin-top: 112px;
	
	.description {
		font-size: 1.5rem;
	}
}

.content-section-wrap > .content-section.persons_section-wrap {
	margin-top: 160px;
	
	h2 { margin-bottom: 0; }
	.col-12 { margin-top: 0; }
	.persons-list { margin-top: 48px; }
}

@media (max-width: 768px) {
	.content-section-wrap > .content-section.product-main,
	.content-section-wrap > .content-section.product-category-main { margin-top: 3rem; }
	.product-information .description { margin-top: 1.5rem; }
	.additional-info-title { margin-top: 2rem; }
	
	.content-section-wrap > .content-section.related-products,
	.content-section-wrap > .content-section.persons_section-wrap { margin-top: 80px; }
	.content-section-wrap > .content-section.related-products > h2 { margin-bottom: 2rem; }
	.content-section-wrap > .content-section.related-products > ul > li { max-width: calc(50% - 1.5rem / 2); width: calc(50% - 1.5rem / 2); }
	
	.content-section-wrap > .content-section.persons_section-wrap .persons-list { margin-top: 24px; }
}

@media (max-width: 500px) {
	.product-gallery { flex-direction: column-reverse; row-gap: 26px; }
	.product-gallery .product-thumbnails { flex-direction: row; column-gap: 0.5rem; }
	
	.content-section-wrap > .content-section.related-products > ul > li { max-width: 100%; width: 100%; }
	
	.content-section-wrap > .content-section.related-products > ul > li .product-image { position: static; padding: 0; height: auto; }
	.content-section-wrap > .content-section.related-products > ul > li .product-image > img { position: static; margin:0 auto; }
}