/* =========================================================
   BLUMI PDP PRODUCT SPECS
   ========================================================= */

.blumi-pdp-product-specs {

	--blumi-pdp-specs-font-size: 18px;

	position: relative;

	display: grid;

	grid-template-columns:
		50% 50%;

	width: 100%;

	height: 100vh;
	height: 100svh;

	min-height: 700px;

	overflow: hidden;

	background: #ECEFFA;

	color: #401F0F;

	font-family:
		var(
			--blumi-font-primary,
			"bc-novatica-cyr",
			sans-serif
		);

	scroll-snap-align:
		start;

	scroll-snap-stop:
		always;

}


/* =========================================================
   MEDIA
   ========================================================= */

.blumi-pdp-product-specs__media {

	position: relative;

	width: 100%;
	height: 100%;

	overflow: hidden;

	background: #401F0F;

}


.blumi-pdp-product-specs__track {

	position: absolute;

	inset: 0;

}


.blumi-pdp-product-specs__slide {

	position: absolute;

	inset: 0;

	z-index: 0;

	visibility: hidden;

	transform:
		translate3d(
			0,
			100%,
			0
		);

	will-change:
		transform;

}


.blumi-pdp-product-specs__slide.is-active {

	z-index: 1;

	visibility: visible;

	transform:
		translate3d(
			0,
			0,
			0
		);

}


.blumi-pdp-product-specs__slide picture,
.blumi-pdp-product-specs__slide img {

	display: block;

	width: 100%;
	height: 100%;

}


.blumi-pdp-product-specs__slide img {

	max-width: none;

	object-fit: cover;

	object-position:
		var(
			--blumi-specs-position,
			center center
		);

}


/* =========================================================
   SLIDER NAV
   ========================================================= */

.blumi-pdp-product-specs__navigation {

	position: absolute;

	z-index: 10;

	right: 42px;
	bottom: 54px;

	display: flex;

	flex-direction: column;

	gap: 12px;

}


.blumi-pdp-product-specs__arrow {

	display: flex;

	align-items: center;
	justify-content: center;

	width: 50px;
	height: 50px;

	margin: 0;
	padding: 0;

	border: 0;

	border-radius: 50%;

	background: transparent !important;

	color: #FFFFFF;

	cursor: pointer;

}


.blumi-pdp-product-specs__arrow span {

	display: block;

	width: 100%;
	height: 100%;

	background: currentColor;

	-webkit-mask-image:
		var(--blumi-icon);

	mask-image:
		var(--blumi-icon);

	-webkit-mask-repeat:
		no-repeat;

	mask-repeat:
		no-repeat;

	-webkit-mask-position:
		center;

	mask-position:
		center;

	-webkit-mask-size:
		contain;

	mask-size:
		contain;

	transform:
		rotate(90deg);

}


/* =========================================================
   CONTENT
   ========================================================= */

.blumi-pdp-product-specs__copy {

	display: flex;

	align-items: center;

	min-width: 0;

	height: 100%;

	padding:clamp(130px, 11vh, 150px) clamp(60px, 6vw, 110px) clamp(55px, 7vh, 90px);

}


.blumi-pdp-product-specs__copy-inner {

	width: 100%;

	max-width: 650px;

}


/* =========================================================
   SECTION TITLES
   ========================================================= */

.blumi-pdp-product-specs__section-title {

	margin:
		0 0 28px;

	color: #A5ADD8;

	font-size:
		var(
			--blumi-pdp-specs-font-size,
			18px
		);

	font-weight: 700;

	line-height: 1;

	text-transform: uppercase;

}


/* =========================================================
   FEATURES
   ========================================================= */

.blumi-pdp-product-specs__features {

	display: grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0, 135px)
		);

	gap:
		28px 30px;

}


.blumi-pdp-product-specs__feature {

	display: flex;

	flex-direction: column;

	align-items: flex-start;

	width: 135px;

	min-height: 145px;

}


.blumi-pdp-product-specs__feature-icon {

	display: flex;

	align-items: flex-start;

	width: 90px;
	height: 80px;

	margin-bottom: 12px;

}


.blumi-pdp-product-specs__feature-icon img {

	display: block;

	width: 100%;
	height: 100%;

	object-fit: contain;

	object-position:
		left top;

}


.blumi-pdp-product-specs__feature-label {

	font-size:
		var(
			--blumi-pdp-specs-font-size,
			18px
		);

	font-weight: 700;

	line-height: 1.05;

}


/* =========================================================
   MODELS
   ========================================================= */

.blumi-pdp-product-specs__models {

	margin-top: 50px;

}


.blumi-pdp-product-specs__models-list {

	display: flex;

	flex-direction: column;

	gap: 22px;

}


.blumi-pdp-product-specs__model {

	font-size:
		var(
			--blumi-pdp-specs-font-size,
			18px
		);

	line-height: 1.15;

}


.blumi-pdp-product-specs__model-name {

	margin-bottom: 3px;

	font-weight: 700;

}


.blumi-pdp-product-specs__model-values {

	font-weight: 400;

}


/* =========================================================
   SHORT DESKTOP
   ========================================================= */

@media
	(min-width: 768px)
	and
	(max-height: 820px) {

	.blumi-pdp-product-specs__copy {

		padding-top: 95px;
		padding-bottom: 38px;

	}


	.blumi-pdp-product-specs__features {

		gap:
			18px 26px;

	}


	.blumi-pdp-product-specs__feature {

		min-height: 128px;

	}


	.blumi-pdp-product-specs__feature-icon {

		height: 72px;

	}


	.blumi-pdp-product-specs__models {

		margin-top: 20px;

	}

}


/* =========================================================
   FREE HEIGHT
   ========================================================= */

@media (min-width: 991px) {

	.blumi-pdp-product-specs.is-height-free {

		height: auto;

		min-height: 100svh;

		overflow: visible;

		scroll-snap-align: none;
		scroll-snap-stop: normal;

	}


	.blumi-pdp-product-specs.is-height-free
	.blumi-pdp-product-specs__copy {

		align-items: flex-start;

		height: auto;

		padding-top:
			calc(
				var(
					--blumi-header-height,
					120px
				)
				+
				45px
			);

		padding-bottom: 70px;

	}

}

/* =========================================================
   TABLET / STACKED
   768px - 990px
   ========================================================= */

@media
	(min-width: 768px)
	and
	(max-width: 990px) {

	.blumi-pdp-product-specs {

		display: flex;

		flex-direction: column;

		width: 100%;

		height: auto;

		min-height: 0;

		overflow: visible;

		scroll-snap-align: none;
		scroll-snap-stop: normal;

	}


	/* -----------------------------------------------------
	   Slider
	   ----------------------------------------------------- */

	.blumi-pdp-product-specs__media {

		display: block;

		width: 100%;

		height: clamp(
			520px,
			68svh,
			720px
		);

		flex: none;

	}


	.blumi-pdp-product-specs__slide {

		transform:
			translate3d(
				100%,
				0,
				0
			);

	}


	.blumi-pdp-product-specs__slide.is-active {

		transform:
			translate3d(
				0,
				0,
				0
			);

	}


	/* -----------------------------------------------------
	   Navigation
	   ----------------------------------------------------- */

	.blumi-pdp-product-specs__navigation {

		flex-direction: row;

		right: 30px;
		bottom: 30px;

	}


	.blumi-pdp-product-specs__arrow span {

		transform: none;

	}


	/* -----------------------------------------------------
	   Copy
	   ----------------------------------------------------- */

	.blumi-pdp-product-specs__copy {

		display: block;

		width: 100%;

		height: auto;

		min-height: 0;

		padding:50px clamp(30px, 7vw, 30px) 40px;
		padding-left: 10px;
		padding-right: 10px;

	}


	.blumi-pdp-product-specs__copy-inner {

		width: 100%;

		max-width: none;

	}


	/* -----------------------------------------------------
	   Characteristics
	   ----------------------------------------------------- */

	.blumi-pdp-product-specs__features {

		grid-template-columns:
			repeat(
				3,
				minmax(0, 1fr)
			);

		gap:
			32px 30px;

	}


	.blumi-pdp-product-specs__feature {

		width: 100%;

	}

}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {


	/* =====================================================
	   SECTION
	   ===================================================== */

	.blumi-pdp-product-specs {

		display: block;

		width: 100%;

		height: auto;

		min-height: 0;

		overflow: visible;

		background: #ECEFFA;

		/*
		 * Nessun comportamento snap su mobile.
		 */
		scroll-snap-align: none;

		scroll-snap-stop: normal;

	}


	/* =====================================================
	   SLIDER
	   Su mobile questa row NON ha immagini.
	   ===================================================== */

	.blumi-pdp-product-specs__media {

		display: none;

	}


	/* =====================================================
	   CONTENT
	   ===================================================== */

	.blumi-pdp-product-specs__copy {

		display: block;

		width: 100%;

		height: auto;

		min-height: 0;
border-bottom: 2px solid #A5ADD8;
		padding:40px 10px 40px;

	}


	.blumi-pdp-product-specs__copy-inner {

		width: 100%;

		max-width: none;

		margin: 0;

	}


	/* =====================================================
	   SECTION TITLES
	   ===================================================== */

	.blumi-pdp-product-specs__section-title {

		margin:
			0 0 32px;

		font-size: 18px;

		font-weight: 700;

		line-height: 1;

		text-transform: uppercase;

	}


	/* =====================================================
	   FEATURES
	   ===================================================== */

	.blumi-pdp-product-specs__features {

		display: grid;

		grid-template-columns:
			repeat(
				3,
				minmax(0, 1fr)
			);

		align-items: start;

		gap:
			32px 12px;

		width: 100%;

	}


	.blumi-pdp-product-specs__feature {

		display: flex;

		flex-direction: column;

		align-items: flex-start;

		width: 100%;

		min-width: 0;

		min-height: 0;

	}


	/* -----------------------------------------------------
	   Icon
	   ----------------------------------------------------- */

	.blumi-pdp-product-specs__feature-icon {

		display: flex;

		align-items: flex-start;

		justify-content: flex-start;

		width: 100%;

		max-width: 92px;

		height: 82px;

		margin:
			0 0 12px;

	}


	.blumi-pdp-product-specs__feature-icon img {

		display: block;

		width: 100%;

		height: 100%;

		max-width: none;

		object-fit: contain;

		object-position: left top;

	}


	/* -----------------------------------------------------
	   Feature label
	   ----------------------------------------------------- */

	.blumi-pdp-product-specs__feature-label {

		width: 100%;

		font-size:
			var(
				--blumi-pdp-specs-font-size,
				18px
			);

		font-weight: 700;

		line-height: 1.05;

		overflow-wrap: break-word;

	}


	/* =====================================================
	   MODELS
	   ===================================================== */

	.blumi-pdp-product-specs__models {

		width: 100%;

		margin-top: 58px;

	}


	.blumi-pdp-product-specs__models
	.blumi-pdp-product-specs__section-title {

		margin-bottom: 30px;

	}


	.blumi-pdp-product-specs__models-list {

		display: flex;

		flex-direction: column;

		gap: 30px;

		width: 100%;

	}


	.blumi-pdp-product-specs__model {

		width: 100%;

		font-size:
			var(
				--blumi-pdp-specs-font-size,
				18px
			);

		line-height: 1.2;

	}


	.blumi-pdp-product-specs__model-name {

		margin:
			0 0 5px;

		font-weight: 700;

	}


	.blumi-pdp-product-specs__model-values {

		font-weight: 400;

	}


	.blumi-pdp-product-specs__model-values > div {

		margin: 0;

	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

	/*
	 * Manteniamo comunque le 3 colonne,
	 * ma riduciamo leggermente dimensioni e gap.
	 */

	.blumi-pdp-product-specs__features {

		gap:
			28px 8px;

	}


	.blumi-pdp-product-specs__feature-icon {

		max-width: 82px;

		height: 74px;

	}


	.blumi-pdp-product-specs__feature-label {

		font-size: 15px;

	}

}
/* Two readable columns instead of three cramped icon captions on phones. */
@media (max-width: 600px) {
  .blumi-pdp-product-specs__features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .blumi-pdp-product-specs__feature-label { font-size: 16px; line-height: 1.2; overflow-wrap: normal; word-break: normal; }
}
