/* configurator preloader */
.conf-preloader_active {
	position: relative;
}

.conf-preloader_active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8) url("data:image/svg+xml,%3Csvg width='120' height='30' viewBox='0 0 120 30' xmlns='http://www.w3.org/2000/svg' fill='%23000000'%3E%3Ccircle cx='15' cy='15' r='15'%3E%3Canimate attributeName='r' from='15' to='15' begin='0s' dur='0.8s' values='15;9;15' calcMode='linear' repeatCount='indefinite' /%3E%3Canimate attributeName='fill-opacity' from='1' to='1' begin='0s' dur='0.8s' values='1;.5;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='60' cy='15' r='9' fill-opacity='0.3'%3E%3Canimate attributeName='r' from='9' to='9' begin='0s' dur='0.8s' values='9;15;9' calcMode='linear' repeatCount='indefinite' /%3E%3Canimate attributeName='fill-opacity' from='0.5' to='0.5' begin='0s' dur='0.8s' values='.5;1;.5' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='105' cy='15' r='15'%3E%3Canimate attributeName='r' from='15' to='15' begin='0s' dur='0.8s' values='15;9;15' calcMode='linear' repeatCount='indefinite' /%3E%3Canimate attributeName='fill-opacity' from='1' to='1' begin='0s' dur='0.8s' values='1;.5;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3C/svg%3E");
	background-size: 40px;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 2;
}

/* conf-models (configurator, 1 step)*/
.conf-models {
	width: calc(100% + 40px);
	overflow-x: auto;
	margin-left: -20px;
	margin-right: -20px;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.conf-models::-webkit-scrollbar {
	display: none;
}

.conf-models__list {
    width: 100%;
	list-style: none;
	margin: 0;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	min-width: 1000px;
}

.conf-models__item {
	border-right: 1px solid var(--blue);
	padding: 0 15px 15px 15px;
	position: relative;
}

.conf-models__list .conf-models__item:first-child {
	border-left: 1px solid var(--blue);
}

.conf-models__radio:hover {
	cursor: pointer;
}

/* navigation panel (configurator) */
.conf-nav {
	border-top: 1px solid var(--blue);
	border-bottom: 1px solid var(--blue);
	padding: 15px 0;
}

.conf-nav__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.conf-nav__item {
	display: block;
	opacity: 0.5;
}

.conf-nav__step {
	display: block;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	border: 1px solid var(--deep-blue);
	border-radius: 50%;
}

.conf-nav__link {
	color: var(--deep-blue);
	display: grid;
	grid-template-columns: repeat(2, max-content);
	column-gap: 10px;
	align-items: center;
}

.conf-nav__link:hover {
	cursor: default;
	text-decoration: none;
	color: var(--deep-blue);
}

.conf-nav__link:not(.conf-nav__item_status_active):hover .conf-nav__step {
	border-color: var(--deep-blue);
}

.conf-nav__item_status_active {
	opacity: 1;
}

.conf-nav__item_status_success .conf-nav__link:hover {
	cursor: pointer;
	color: var(--dark);
}

.conf-nav__item_status_active .conf-nav__step {
	color: var(--dark);
	border-color: var(--dark);
}

.conf-nav__item_status_active .conf-nav__link {
	color: var(--dark);
	cursor: default;
	text-decoration: none;
}

.conf-nav__link:hover .conf-nav__step {
	border-color: var(--dark);
}

.conf-nav__item_status_success {
	opacity: 1;
}

/* Конфигуратор - шаг 2 (выбор модификации) */
.conf-modification {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
}

/* .conf-modification__choice {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
} */

.conf-modification__img-container {
	position: relative;
}

.conf-modification__img {
	margin: 0 auto;
}

/* Конфигуратор - шаг 4 */
.conf-total__visual {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	column-gap: 20px;
	border-top: 1px solid var(--blue);
	border-bottom: 1px solid var(--blue);
	padding: 30px 0;
}

.conf-numbers_place_conf-widget {
	grid-area: 1 / 2 / 2 / 3;
}

.conf-numbers__item {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	justify-content: space-between;
	font-size: 16px;
	margin-bottom: 10px;
}

.conf-numbers__tagline {
	color: var(--deep-blue);
}

.conf-total__modification {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
	justify-content: space-between;
}

.conf-total__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.conf-total__list-item {
	position: relative;
	margin-bottom: 10px;
	padding-left: 20px;
}

.conf-total__list-item::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	background: var(--dark);
	border-radius: 100%;
}

.conf-total__btn-container {
	display: grid;
	gap: 10px;
	grid-auto-flow: row;
	grid-auto-rows: max-content;
}

.conf-modification__label {
	position: absolute;
	top: 20px;
	right: 2px;
}

@media (max-width: 1279px) {
	.conf-nav {
		padding: 10px 0;
		
	}

	.conf-numbers__item {
		font-size: 14px;
	}
}

@media (max-width: 999px) {
	.conf-modification {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.conf-nav__link {
		grid-template-columns: repeat(2, min-content);
	}

	.conf-numbers_place_conf-widget {
		grid-area: 1 / 1 / 2 / 3;
	}
}

@media (max-width: 767px) {
	.conf-nav__item:not(.conf-nav__item_status_active) .conf-nav__link {
		grid-template-columns: max-content;
		column-gap: 0;
	}

	.conf-nav__item:not(.conf-nav__item_status_active) .conf-nav__text {
		display: none;
	}

	.conf-nav__list {
		grid-template-columns: repeat(4, max-content);
		justify-content: space-between;
		gap: 10px;
	}

	.conf-total__visual {
		grid-template-columns: 1fr;
	}

	.conf-total__modification {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 479px) {
/* 	.conf-modification__choice {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 30px;
	} */

	.conf-numbers__item {
		grid-template-columns: 1fr max-content;
		align-items: end;
		column-gap: 10px;
	}
}
















