.calc_con {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.calc_form_con {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
	width: calc(50% - 20px);
}
.calc_result_sizes_con {
	width: calc(50% - 20px);
	max-width: 600px;
}
.calc_title {
	font-size: 30px;
	margin: 0 0 30px;
	width: 100%;
	text-align: center;
}
.calc_title.calc_title_form {
	font-size: 28px;
	font-weight: 600;
	margin: 24px 0 16px;
	text-align: start;
}
h3.calc_title.calc_title_form {
	font-size: 20px;
	font-weight: 500;
}
.calc_subtitle {
	font-size: 24px;
	text-align: center;
	width: 100%;
}
.info {
	margin-top: 16px;
	font-size: 16px;
	width: 100%;
}

/*Form unit toggler*/

.calc_form_unit_toggles,
.calc_form_type_toggles {
	display: flex;
	flex-wrap: wrap;
	width: 280px;
}
.toggles__input {
	display: none;
}
.toggles__label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	font-size: 18px;
	font-weight: 500;
	padding: 10px 20px;
	border: 1px solid #828282;
	cursor: pointer;
	transition: 0.3s;
}

.toggles__input:checked + .toggles__label {
	background: #c44903;
	border: 1px solid #c44903;
	color: #fff;
}

.calc_material_con,
.choose_wr {
	padding: 30px 40px;
	border:  1px solid #828282;
	margin-bottom: 30px;
}
/*Swiper pagination*/
.calc_pagination {
	margin-top: 24px;
	position: static;
}
@media (min-width: 768px) {
	.calc_pagination {
		display: none;
	}
}
.calc_pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #828282;
	position: relative;
}
.calc_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #c44903;
}
.calc_pagination .swiper-pagination-bullet:after {
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	top: -6px;
	left: -6px;
	border: 2px solid #c44903;
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.2s;
}
.calc_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
	opacity: 1;
}

/*Form material toggler*/
.calc_form_material_toggles_con {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 20px;
}
.material_toggles_item {
	background: #fff;
	border:  1px solid #828282;
	padding: 10px;
	display: flex;
	flex-direction: column;
}
.material_toggles_item:has(input:checked) {
	border:  1px solid #c44903;
	box-shadow: inset 0 0 0 3px #c44903;
}
.material_toggles_label {
	border:  1px solid #828282;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 10px 16px 10px 56px;
    margin-top: 10px;
    cursor: pointer;
    transition: 0.3s;
    position: relative;
}
.material_toggles_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3em;
    text-align: center;
    padding: 20px 0;
    min-height: 64px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.material_toggles_img {
	display: flex;
}
.material_toggles_img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 2;
	object-fit: cover;
}
.bench_toggles_con {
	margin-top: auto;
}
.material_toggles_checked {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid #828282;
	transition: border 0.3s;
}
.material_toggles_checked span {
	width: 14px;
	height: 14px;
	background: transparent;
	border-radius: 50%;
	position: absolute;
	top: 2px;
	left: 2px;
	transition: background 0.3s;
}
.material_toggles_label:hover {
	border: 1px solid #c44903;
}
.toggles__input_material:checked + .material_toggles_label .material_toggles_title {
	background: #c44903;
	color: #fff;
}
.toggles__input_material:checked + .material_toggles_label .material_toggles_checked {
	border: 1px solid #c44903;
}
.toggles__input_material:checked + .material_toggles_label .material_toggles_checked span {
	background: #c44903;
}
.toggler_bench_price {
	min-width: 120px;
	font-size: 18px;
	font-weight: 600;
	text-align: end;
}
.toggler_bench_type {
	font-size: 16px;
}

/*Form sizes inputs*/

.calc_form_sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
	margin-top: 16px;
}
.calc_form_sizes_item {
	width: calc(33% - 16px);
	max-width: 300px;
}
.calc_form_sizes_inp_wr {
	margin-top: 10px;
	position: relative;
}
.calc_form_sizes_item label {
	font-size: 16px;
	font-weight: 600;
}
.calc_form_sizes_item input {
	width: 100%;
	padding: 6px 48px 6px 16px;
	font-size: 20px;
	border: 1px solid #828282;
	border-radius: 0;
	min-height: 66px;
	text-align: center;
}
.calc_form_sizes_item input:focus {
	outline: none;
	border: 1px solid #c44903;
}
.calc_form_sizes_unit {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	color: #828282;
	width: 48px;
	height: 100%;
}

/* Button */
.calc_form_btn,
.calc_form_btn:focus,
.calc_form_btn:hover {
	padding: 6px 24px;
	font-size: 20px;
	font-weight: 500;
	background: #c44903;
	border:  1px solid #c44903;
	border-radius: 0;
	color:  #fff;
	margin-top: 32px;
	min-width: 300px;
	cursor: pointer;
}

/* Calc Results */

.calc_result_size {
	display: flex;
	font-size: 18px;
	border: 1px solid #828282;
	border-bottom-width: 0;
}
.calc_result_size:last-child {
	border-bottom-width: 1px;
}
.calc_result_name {
	width: 50%;
	max-width: 300px;
	padding: 10px;
	min-height: 52px;
	display: flex;
	align-items: center;
}
.calc_result_val {
	width: 50%;
	max-width: 300px;
	padding: 10px;
	border-left: 1px solid #828282;
	min-height: 52px;
	display: flex;
	align-items: center;
	font-weight: 700;
}
.calc_product_grid {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
}

/***********************/
/* Doors /
/***********************/

.choose_door_glass_con {
	margin-top: 40px;
}
.calc_product_grid.calc_product_grid_doors {
	grid-template-columns: repeat(2, 1fr);
}
.select_door_inp {
	display: none;
}
.select_door_label {
	width: 100%;
	background: #fff;
	border: 1px solid #828282;
	display: block;
	cursor: pointer;
	transition: border 0.3s;
	position: relative;
}
.select_door_label:hover {
	border: 1px solid #c44903;
}
.select_door_inp:checked + .select_door_label {
	box-shadow: inset 0 0 0 4px #c44903;
	border: 1px solid #c44903;
}
.select_door_label .calc_prod_loop_con {
	padding: 0;
}
.select_door_label .calc_prod_loop_info {
	padding: 20px 24px;
}


/***********************/
/* Accessories /
/***********************/
.calc_prod_loop_desc {
	font-size: 13px;
	line-height: 1.2em;
}
.select_accessory_inp {
	display: none;
}
.select_accessory_label {
	width: 100%;
	background: #fff;
	border: 1px solid #828282;
	display: flex;
	cursor: pointer;
	transition: border 0.3s;
	position: relative;
}
.select_accessory_label:hover {
	border: 1px solid #c44903;
}
.select_accessory_inp:checked + .select_accessory_label {
	box-shadow: inset 0 0 0 4px #c44903;
	border: 1px solid #c44903;
}
.calc_prod_loop_con_accessory {
	flex-direction: column;
}
.select_accessory_label .calc_prod_loop_img {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 4px;
}
.select_accessory_label .calc_prod_loop_img img {
	width: 100%;
	height: 100%;
	max-width: 300px;
	object-fit: contain;
	aspect-ratio: 1;
}
.select_accessory_label .calc_prod_title {
	border-bottom: none;
}
.select_accessory_label .calc_prod_loop_info {
	width: 100%;
	margin-top: auto;
}
.select_accessory_label .calc_prod_loop_price_wr {
	margin-top: 0;
}



/***********************/
/* Heaters /
/***********************/

.choose_heater_wood_con {
	margin-top: 40px;
}
.calc_heat_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 20px;
}
.calc_prod_loop {
	display: flex;
}
.select_heater_inp {
	display: none;
}
.select_heater_label {
	width: 100%;
	background: #fff;
	border: 1px solid #828282;
	display: block;
	cursor: pointer;
	transition: border 0.3s;
	position: relative;
}
.select_heater_label:hover {
	border: 1px solid #c44903;
}
.select_heater_inp:checked + .select_heater_label {
	box-shadow: inset 0 0 0 4px #c44903;
	border: 1px solid #c44903;
}
.calc_prod_title {
	display: flex;
	align-items: center;
	font-size: 24px;
	font-weight: 500;
	font-family: Lora, Sans-serif;
	padding: 10px 20px;
	border-bottom: 1px solid #828282;
}
.calc_prod_title br {
	display: none;
}
.calc_prod_loop_con {
	display: flex;
}

.calc_prod_loop_img {
	width: 50%;
	padding-left: 4px;
}
.calc_prod_loop_info {
	width: 50%;
	padding: 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.select_accessory_label .calc_prod_loop_info {
	justify-content: center;
}

.calc_prod_loop_ibox {
	display: flex;
	align-items: center;
}
.calc_prod_loop_i {
	display: flex;
	width: 20px;
	min-width: 20px;
	margin-right: 10px;
}
.calc_prod_loop_i svg {
	width: 100%;
	height: auto;
}
.calc_prod_loop_itxt {
	font-size: 16px;
	line-height: 1.2em;
}
.calc_prod_loop_price_wr {
	display: flex;
	align-items: flex-end;
	margin-top: 16px;
}
.calc_prod_loop_price {
	font-size: 24px;
	font-weight: 700;
}
.calc_prod_loop_price.has_sale {
	text-decoration: line-through;
	color: #777;
	font-size: 16px;
	font-weight: 400;
	text-align: right;
	margin-right: 10px;
}
.calc_prod_loop_price.sale {
	color: #c44903;
}
.calc_prod_loop_checked {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 20px;
	height: 20px;
	opacity: 0;
	transition: 0.3s;
}
.calc_prod_loop_checked svg {
	width: 100%;
	height: auto;
	fill: #c44903;
}
.select_heater_inp:checked + .select_heater_label .calc_prod_loop_checked {
	opacity: 1;
}
.post_grid_no_result {
	margin: 24px 0;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

/*Total popup*/
.calc_total_popup {
	background: #fff;
	padding: 40px;
	border: 1px solid #828282;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.calc_total_popup.active {
	visibility: visible;
	opacity: 1;
}
.calc_total_popup_wr {
	/*width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;*/
}
.calc_total_btn,
.calc_total_btn:hover,
.calc_total_btn:focus {
	background: #c44903;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	padding: 8px 20px;
	width: 100%;
	border: none;
	margin-top: 30px;
}
.calc_total {
	font-size: 20px;
	font-weight: 700;
}
.calc_total_title {
	font-size: 18px;
	font-weight: 500;
	margin: 0;
	text-align: center;
}
.calc_total_collect_data {
	display: none;
}
.calc_total_value {
	font-weight: 500;
	font-size: 30px;
	margin-top: 16px;
	text-align: center;
	transition: opacity 0.2s;
}
.calc_total_value_num {
}

/*Popup checkout*/
#elementor-popup-modal-146383 {
	z-index: 999999;
}
.calc_popup_checkout_table {
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
}
.calc_popup_checkout_name {
	width: 60%;
	padding: 12px 16px 12px 0;
	border-bottom: 1px solid #999;
}
.calc_popup_checkout_vavue {
	width: 40%;
	text-align: right;
	padding: 12px 0;
	border-bottom: 1px solid #999;
}
.calc_popup_checkout_name_total,
.calc_popup_checkout_vavue_total {
	font-weight: 700;
	border-bottom: none;
	padding-top: 16px;
}

@media (max-width: 1180px) {
	.calc_material_con {
		padding: 24px 16px;
	}
	.calc_form_material_toggles_con {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 16px;
	}
	.calc_form_sizes_item input {
		font-size: 18px;
		min-height: 48px;
	}
	.calc_form_sizes_item {
		width: 100%;
		margin-bottom: 16px;
	}
	.material_toggles_label {
		gap: 24px;
	}
	.toggler_bench_price {
		min-width: 100px;
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
	.choose_wr {
		padding: 24px 16px;
	}
	.calc_product_grid,
	.calc_heat_grid,
	.calc_product_grid.calc_product_grid_doors {
	    grid-template-columns: repeat(1, 1fr);
	}
	.calc_product_grid.calc_product_grid_accessories {
		grid-template-columns: repeat(2, 1fr);
	}
	.calc_prod_title {
		font-size: 20px;
	}

}


@media (max-width: 767px) {
	.calc_form_con,
	.calc_result_sizes_con {
		width: 100%;
	}
	h3.calc_title.calc_title_form {
		font-size: 18px;
		text-align: center;
	}
	.calc_title,
	.calc_title.calc_title_form {
		font-size: 24px;
		text-align: center;
	}
	.calc_subtitle {
		font-size: 18px;
	}
	.calc_form_unit_toggles,
	.calc_form_type_toggles {
		width: 100%;
	}
	.calc_form_sizes {
		gap: 0 10px;
	}
	.calc_form_sizes_item {
		width: calc(33.3% - 7px);
	}
	.calc_form_btn,
	.calc_form_btn:hover,
	.calc_form_btn:focus {
		margin-top: 16px;
		width: 100%;
	}
	.calc_form_material_toggles_con,
	.calc_product_grid_doors,
	.calc_heat_grid,
	.calc_product_grid.calc_product_grid_accessories {
		display: flex;
		gap: 0;
	}
	
	.calc_prod_title {
		padding: 10px;
	}
	.calc_prod_loop_img {
		display: flex;
		align-items: center;
		padding: 4px;
	}
	.calc_prod_loop_info {
		gap: 16px;
	}
	.select_door_label .calc_prod_loop_info {
		padding: 8px 8px 10px;
	}
	.calc_prod_loop_i {
		width: 16px;
		min-width: 16px;
		margin-right: 8px;
	}
	.calc_prod_loop_itxt {
		font-size: 14px;
	}
	.calc_prod_loop_price {
		font-size: 18px;
	}
	.calc_prod_loop_price.has_sale {
		font-size: 14px;
	}

	.calc_total_popup {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 99999;
		background: #c44903;
		border: none;
		padding: 12px;
	}
	.calc_total_popup_wr {
		gap: 16px;
	}
	.calc_total {
	}
	.calc_total_title {
		font-size: 16px;
		margin: 0;
		color: #fff;
	}
	.calc_total_value {
		color: #fff;
		margin-top: 0;
	}
	.calc_total_request {
		
	}
	.calc_total_btn {
		padding: 8px 10px;
		font-size: 16px;
		font-weight: 500;
		margin-top: 10px;
		background: #fff;
		color: #1c1c1c;
		border-radius: 0;
	}
}
