/* Speed / CLS helpers — non-critical, loaded with main CSS */
#elementContainer #pictureContainer{
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
	background: #fafafa;
}
#elementContainer #pictureContainer .pictureSlider{
	height: 100%;
}
#elementContainer #pictureContainer .item a{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 280px;
}
#elementContainer #pictureContainer .item a img{
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	aspect-ratio: attr(width) / attr(height);
}
#elementContainer #moreImagesCarousel .item a img{
	width: 72px;
	height: 72px;
	object-fit: contain;
}
#slider{
	aspect-ratio: 16 / 9;
	min-height: 180px;
	background: #f5f5f5;
}
@media (min-width: 768px){
	#slider{
		aspect-ratio: 21 / 9;
		min-height: 320px;
	}
}
#slider ul li span{
	min-height: inherit;
}
/* Reserve space for product price / buy block to reduce CLS */
#elementContainer .mainToolBar,
#elementContainer .price{
	min-height: 1.5em;
}
.vpla-map-lazy{
	position: relative;
	width: 100%;
	min-height: 420px;
	background: #eef2f5;
}
.vpla-map-lazy.is-loaded{
	min-height: 0;
	background: transparent;
}
.vpla-map-lazy__placeholder{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	flex-direction: column;
	gap: 12px;
	color: #555;
}
.vpla-map-lazy__btn{
	appearance: none;
	border: 0;
	background: #3498db;
	color: #fff;
	padding: 12px 20px;
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
}
.vpla-map-lazy iframe{
	width: 100%;
	height: 700px;
	border: 0;
	display: block;
}
/* Native lazy images */
img.vpla-lazy,
.productList img,
#brandsList img,
.news-list img{
	content-visibility: auto;
}
