.calc {
	margin: 20px 0;
}
/** Главный выбор **/
.main_radio_group {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}

.main_radio_group img{
	width: 100%;
}

.main_radio_group-item {
	display: inline-block;
	float: left;
	margin-bottom: 20px;    
}
.main_radio_group input[type=radio] {
	display: none;
}
.main_radio_group label {
	display: inline-block;
	cursor: pointer;
	padding: 0px 15px;
	line-height: 34px;
	border: 1px solid #DDD;
	margin-right: 15px;
	border-radius: 3px;
	user-select: none;
	background: #F6F6F6;
	width: 150px;
	height: 150px;
	opacity: 0.7;
}
/* Hover */
.main_radio_group label:hover {
	border: 1px solid #fdb508;
	color: #000;
}

.main_radio_group label {
	text-align: center;
	font-size: 14px;
	line-height: 1.2;
}

/* Checked */
.main_radio_group input[type=radio]:checked + label {
	/*background: #ffe0a6;*/
	background: rgba(253, 181, 8, 0.03);
	transition: all 0.5s;
	border: 1px solid #fdb508;
	opacity: 1;
}
 

 
/* Disabled */
.main_radio_group input[type=radio]:disabled + label {
	background: #efefef;
	color: #666;
}


/*** Цвет **/
.color_radio_group {
	display: inline-block;
	overflow: hidden;
}
.color_radio_group-item {
	display: inline-block;
	float: left;   
	margin-bottom: 10px; 
}
.color_radio_group input[type=radio] {
	display: none;
}
.color_radio_group label {
	display: inline-block;
	cursor: pointer;
	padding: 0px 3px;
	border: 1px solid #DDD;
	border-radius: 3px;
	user-select: none;
	background: #F6F6F6;
	width: 160px;
	height: 50px;
	opacity: 0.9;
}


.color_radio_group label {
	text-align: center;
	font-size: 12px;
	line-height: 1.2;
	margin-right: 12px;
}

/* Checked */
.color_radio_group input[type=radio]:checked + label {
	/*background: #ffe0a6;*/
	background: rgba(253, 181, 8, 0.03);
	transition: all 0.5s;
	border: 1px solid #fdb508;
	opacity: 1;
}
 
.color_radio_group label:hover {
	color: #000;
	border: 1px solid #fdb508;	
}

.color_radio_group .wrapper {
    width:160px;
    height: 50px;
    display: flex;
    justify-content: space-between;
}
.color_radio_group .color-box {
	width: 40px;
	height: 40px;
	margin: 4px;
	float:left;
}

.color_radio_group .color-text {
	width: 115px;
	margin: 2px;
	float:right;
	overflow: hidden;
    margin: auto;
}

/*** Размеры **/
.size_radio_group {
	display: inline-block;
	overflow: hidden;
}
.size_radio_group-item {
	display: inline-block;
	float: left;   
	margin-bottom: 10px; 
}
.size_radio_group input[type=radio] {
	display: none;
}
.size_radio_group label {
	display: inline-block;
	cursor: pointer;
	padding: 2px 3px;
	border: 1px solid #DDD;
	border-radius: 3px;
	user-select: none;
	background: #F6F6F6;
	width: 160px;
	height: 80px;
	opacity: 0.75;
}


.size_radio_group label {
	text-align: center;
	font-size: 12px;
	line-height: 1.2;
	margin-right: 12px;
}

/* Checked */
.size_radio_group input[type=radio]:checked + label {
	/*background: #ffe0a6;*/
	background: rgba(253, 181, 8, 0.03);
	transition: all 0.5s;
	border: 1px solid #fdb508;
	opacity: 1;
	padding: 2px;
}
 
.size_radio_group label:hover {
	color: #000;
	border: 1px solid #fdb508;		
}

.size_radio_group .wrapper {
    width:160px;
    height: 50px;
    display: flex;
    justify-content: space-between;
}
.size_radio_group .size-box {
	width: 60px;
	height: 40px;
	margin: 4px;
	float:left;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.0;

}

.size_radio_group .size-box-without-text {
	width: 100%;
	text-align: center;
	height: 40px;
	margin: 4px;
	float:left;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.0;
	padding-top: 10px;

}

.size_radio_group .size-box div {
 	margin: 4px 10px;
}

.size_radio_group .size-text {
	float:right;
	overflow: hidden;
    margin: auto;
}
.size_radio_group .price {
	padding: 5px;
	text-align: center;
	color: white;
	background-color: #666;
	font-size: 13px;
}

.characteristic_selection_products {
	display: flex;
	flex-wrap: wrap;
}

.characteristic_selection_products > div {
width: 50%;
}

.block_characteristic_selection_products {
	display: flex;
}

.block_characteristic_selection_products > div {
width: 50%;
}



.block_characteristic_selection_products input {
    border: 1px solid #b1bfc1;
    border-radius: 5px;
    height: 47px;
    font-size: 14px;
    padding-left: 18px;
    color: #4b5c5e;
}

.block_characteristic_selection_products input:focus {
    outline: 1px solid #fdb508;
    /*border: 1px solid #fdb508;*/
}

.unit_selection_products {
    color: #b1bfc1;
    margin-left: -60px;
    font-size: 16px;
    font-weight: 400;
    margin-top: 16px;
    pointer-events: none;
}

.dlina-img, .kolichestvo-img {
	margin-left: 0px;
}


.dlina-img img, .kolichestvo-img img {
	max-width: 180px;
}

.calc h2 {
	margin-top: 25px;
}

.group-buttons {
	 margin:  30px auto;
}

.btn-recalc {
    width: 300px;
    text-align: center;
    margin: 0 auto;
}

.btn-recalc a {
    border-radius: 4px;
    margin: 20px;
    font-weight: 500;
    padding: 14px 80px;
    font-size: 15px;
    line-height: 1.4;
    font-family: "Inter", Helvetica, Arial, sans-serif;
    text-transform: none;
	cursor: pointer;
	text-decoration: none;
	color: #262626;    
}

.btn-recalc a:focus {
	color: #262626;
}

.btn-recalc .animated-button {
	border-color: #fdb508;
	background-color: #fdb508;
	color: #262626;
}

.btn-recalc .animated-button:before {
	background: #fdbd21;
}


.btn-recalc-dostavka {
	width: 600px!important;
}

.animated-button {
  color: #262626;
  cursor: pointer;
  display: block;
  position: relative;
  border: 2px solid #fdb508;
  background-color: #fdb508;
  transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
  z-index: 1;
}
.animated-button:hover, .animated-button-white:hover {
  color: #262626 !important;
  background-color: rgba(0, 0, 0, 0);
}

.animated-button:hover:before, .animated-button-white:hover:before {
  left: 0%;
  right: auto;
  width: 100%;
}
.animated-button:before, .animated-button-white:before {
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  height: 100%;
  width: 0px;
  z-index: -1;
  content: '';
  color: #262626 !important;
  background: #fdbd21;
  transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

.animated-button-white {
  color: #262626;
  cursor: pointer;
  display: block;
  position: relative;
  border: 2px solid #fdb508;
  background-color: #FAFAFA;
  transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
  z-index: 1;
}



.calc-result {
	margin: 20px 0px;
	padding: 15px 0px;
	background-color: #F0F0F0;
	border-radius: 5px;		
}

.calc-result h2 {
	text-align: center;
	margin-bottom: 35px;
	text-transform: uppercase;
}
.calc-result--main {
	margin: 10px 20px;

	display: flex;
	flex-direction: row;
	flex-wrap: wrap;	
}
.calc-result--main-1 {
	width: 70%;
	
}

.calc-result--main-flexbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
	align-items: center;
	background-color: #FFF;

}

.calc-result--main-flexbox:not(:last-child) {
	border-bottom: 2px solid #F0F0F0;	
}
.calc-result--main-flexbox-item-1 {
	width: 20%;
}
.calc-result--main-flexbox-item-1 img {
	padding-left: 30px;
	max-width: 120px;
}

.calc-result--main-flexbox-item-2 {
	width: 60%;
	font-weight: 500;
}
.calc-result--main-flexbox-item-2 div {
	font-size: 13px;
	color:  #333;
	margin-top: 10px;
	margin-bottom: 0px;
	font-weight: 400;
}

.selected-product__info {
    margin-top: 8px;
    margin-bottom: 0px;
    padding: 0;
    display: flex;
    color: #636363;
    flex-wrap: wrap;
    list-style: none;
    font-size: 13px;
    line-height: 1.2;
    align-items: flex-start;
    justify-content: flex-start;
}

.selected-product__info-item:not(:first-child):before {
    content: "/";
    color: #aeaeae;
    margin: 0 6px;
}


.calc-result--main-flexbox-item-3 {
	width: 20%;
	text-align: center;
	font-weight: 600;
	font-size: 18px;

}

.calc-result--submain-flexbox-item {
	width: 25%;
	margin: 10px 0px;
	text-align: center;
	font-size: 14px;
	color: #555;
}

.calc-result--submain-flexbox-item span{
	font-weight: 400;
	color: #000;
	font-size: 15px;
}

.calc-result--submain-flexbox-item-full {
	width: 100%;
	padding: 20px;
	text-align: right;
}
.calc-result--submain-flexbox-item-full strong {
	font-size: 18px;
}

.calc-result--main-2 {
	width: 30%;
	background-color: #FFF;
	outline: 8px solid #F0F0F0;
	font-size: 14px;

}

.calc-result--total--list {
	border-bottom: 2px solid #F0F0F0;	
}

.calc .basket-section__total-list {

    list-style: none;
	margin-bottom: 8px;
    letter-spacing: 1.0; 
    margin-left: 0px;  
    padding: 0 18px; 
}

.calc .basket-section__total-list__item {
    margin-bottom: 10px;
}

.calc .basket-section__total-item {
    padding: 0;
    display: flex;
    color: #404040;
    margin: 0 -0.05rem;
    line-height: 1.2;
    align-items: flex-end;
    justify-content: space-between;

}

.calc-result--total--topic h3 {
	margin-bottom: 15px;
	text-align: center;
	font-size: 20px;
}
.calc-result--total--topic {
	border-bottom: 2px solid #F0F0F0;	
}

.basket-section__total-list--total {
	font-size: 16px;
}
.basket-section__total-item__value--price {
	font-size: 20px;
	font-weight: 600;
}



.btn-addbasket, .btn-buyoneclick {
    width: 300px;
    text-align: center;
    margin: 0 auto;
    padding: 20px 0;
}

.btn-addbasket {
	padding-bottom: 0px!important;
}

.btn-addbasket a, .btn-buyoneclick a {
    border-radius: 4px;
    font-weight: 500;
    padding: 10px 10px;
    font-size: 15px;
    line-height: 1.4;
    font-family: "Inter", Helvetica, Arial, sans-serif;
    text-transform: none;
    cursor: pointer;
    text-decoration: none;
}

.btn-addbasket button, .btn-buyoneclick button {
    border-radius: 4px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.4;
    font-family: "Inter", Helvetica, Arial, sans-serif;
    text-transform: none;
    cursor: pointer;
    text-decoration: none;
    width: 100%;
    height: 46px;
}

.btn-addbasket a, .btn-addbasket a:focus, .btn-addbasket button, .btn-addbasket button:focus {
	color: #FAFAFA;
} 

.calc-result-total--buttons .animated-button {
	border-color: #fdb508;
	background-color: #fdb508;
	color: #262626;
}

.calc-result-total--buttons .animated-button:before {
	background: #fdbd21;
}

.calc-result-total--buttons .animated-button-white {
	color: #002d78;
	border-color: #f3f4fc;
	background-color: #f3f4fc;
}

.calc-result-total--buttons .animated-button-white:before {
	background: #e7e9f9;
}

.calc-result-total--buttons .animated-button-white:hover {
	color: #002d78 !important;
}



.btn-sendmanager {
    width: 300px;
    text-align: center;
    margin: 0 auto;
    padding: 0px 0px 20px 0px;
}
.btn-sendmanager a {
    border-radius: 4px;
    font-weight: 500;
    padding: 10px 10px;
    font-size: 12px;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
	color: #262626;
	cursor: pointer;
	display: block;
	position: relative;
	border: 2px solid #fdb508;
	background-color: #FAFAFA;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	z-index: 1;    
}


.btn-sendmanager a:hover {
	color: #262626;
	border: 2px solid #fdb508;
	background-color: #fdb508;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	z-index: 1;    
}

.step-2:not(.active), .step-3:not(.active), .step-4:not(.active) {
    opacity: 0.12;
    transition: all 0.8s linear;
	pointer-events: none;
	cursor: default;
}

.step-2.active, .step-3.active, .step-4.active {
	display: block;
    opacity: 1;
    transition: all 0.8s linear;
    pointer-events: auto;
}

.calc-result:not(.active) {
    opacity: 0;
    transition: all 0.8s linear;
	display: none;
}
.calc-result.active {
    opacity: 1;
    transition: all 0.8s linear;
	display: block;
}

.input-error {
	outline: 1px solid #8b0000!important;
}

.error-dlina:not(.active), .error-kolichestvo:not(.active) {
	display: none;
	font-size: 2px;
} 
.error-dlina.active, .error-kolichestvo.active {
	margin: 5px 0px;
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #8b0000;
	transition: all 0.8s linear;
}

	.catalog_detail {
		counter-reset: item;
	}
	.catalog_detail h2 {
		margin-left: 10px;
		counter-increment: item;
	}

.catalog_detail h2:before {
    /*content: counter(item) ') ';  Добавляем числа к списку и к числам скобку */
    content: counter(item);      /* Добавляем числа к списку, если нужны числа без скобки */
    border: 1px solid #ffd86f; /* #1db9bb;*/
     background: #fdb508;
     color: #262626;
     box-shadow: 0.0rem 0.3rem 0.9rem 0rem rgba(0,0,0,0.25);
     border-radius: 2.5rem;
     padding: 0.5rem 0.51rem 0.5rem 0.49rem;  /* если тут менять, потом еще нужно margin-left чтоб вторая строчка текста была в ровень с первой */
     font-size: 18px;
     text-align: center;
     line-height: 22px;   
     width: 1.4rem;
     height: 1.4rem;
     display: inline-block;  
     margin-left: -10px; /* тут */
     margin-right: 1.0rem;   
     margin-top: 1.2rem;
}

/** Для калькулятора бетона **/
	.calc-beton .icon-title {
		font-weight: 700!important;
	}
	.calc-beton .icon-title span {
		font-size: 13px;
		display: block;
		font-weight: 300;
		line-height: 18px;
	}
	.calc-beton .main_radio_group label {
		width: 220px!important;
		height: 280px;
	}

	.calc-beton .size_radio_group .size-box-without-text {
	    width: 100%;
	    text-align: center;
	    height: 50px;
	    margin: 4px;
	    float: left;
	    font-size: 13px;
	    font-weight: 500;
	    line-height: 18px;
	    padding-top: 10px;
	}	

	.calc-beton .size_radio_group .wrapper {
		height: 60px!important;
	}

	.calc-beton  .size_radio_group label {
		height: 92px!important;
	}


/** Калькулятор доставки **/

	.sklads-cb {
		display: block;
		margin-left: 50px;
		margin-top: 20px;
		font-size: 16px;
	}

	#result {
		margin: 0px 20px ;
	}	

/* Новый вид checkbox */	
	.custom-checkbox {
	  position: absolute;
	  z-index: -1;
	  opacity: 0;
	}

	.custom-checkbox+label {
	  display: inline-flex;
	  align-items: center;
	  user-select: none;
	}
	.custom-checkbox+label::before {
	  content: '';
	  display: inline-block;
	  width: 1.6rem;
	  height: 1.6rem;
	  flex-shrink: 0;
	  flex-grow: 0;
	  border: 1px solid #adb5bd;
	  border-radius: 0.25rem;
	  margin-right: 0.5rem;
	  background-repeat: no-repeat;
	  background-position: center center;
	  background-size: 50% 50%;
	}	



	.custom-checkbox:checked+label::before {
	  border-color: #fdb508;
	  background-color: #fdb508;
	  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23ffffff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
	}

	/* стили при наведении курсора на checkbox */
	.custom-checkbox:not(:disabled):not(:checked)+label:hover::before {
	  border-color: #7fa6d6;
	}
	/* стили для активного состояния чекбокса (при нажатии на него) */
	.custom-checkbox:not(:disabled):active+label::before {
	  background-color: #d7e3f4;
	  border-color: #7fa6d6;
	}
	/* стили для чекбокса, находящегося в фокусе */
	.custom-checkbox:focus+label::before {
	  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}
	/* стили для чекбокса, находящегося в фокусе и не находящегося в состоянии checked 
	.custom-checkbox:focus:not(:checked)+label::before {
	  border-color: #80bdff;
	}*/
	/* стили для чекбокса, находящегося в состоянии disabled */
	.custom-checkbox:disabled+label::before {
	  background-color: #e9ecef;
	}	


.calc .quantity_inner * {
    box-sizing: border-box;    
}    
.calc .quantity_inner {
    display: inline-flex;
	border: 1px solid #b1bfc1;
	padding: 1px;
	border-radius:  5px;
}        
.calc .quantity_inner .bt_minus,
.calc .quantity_inner .bt_plus {
    height: 40px;
    width: 40px;
    padding: 0;
    border: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    outline: 0;
}

.calc .quantity_inner .bt_minus svg,
.calc .quantity_inner .bt_plus svg {

    fill: #999999;
    transition: 0.4s;
    width: 22px;
    height: 22px;
    padding: 0px;
    margin: 4px 0px 0px 0px;
    display: inline-block;    
}    
.calc .quantity_inner .bt_minus:hover svg,
.calc .quantity_inner .bt_plus:hover svg {
    fill: #fdb508;
}

.calc .quantity_inner .quantity {
	border: 0px;
	width: 80px;
	height: 40px;
	font-weight: 700;
	font-size: 18px;
	padding-left: 0px;
	text-align: center;
}

.calc .quantity_inner .quantity:focus {
	outline: 0px;
	/*-moz-appearance: number-input;*/
}

.quantity_counter input[type="number"]::-webkit-outer-spin-button,
.quantity_counter input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity_counter input[type='number'] {
    -moz-appearance:textfield;
}


select.calc_inputs  {
	width: 180px;
	height: 44px;
	border: 1px solid #b1bfc1;
	border-radius: 5px;
	font-weight: 600;
	color: #333;
	font-size: 18px;
	padding-left: 0px;
	text-align: center;
}

select.calc_inputs:focus {
  outline: 0px;
 }



.calc .quantity_inner .unit_selection_products {
	margin-top: 8px;
	margin-left: 0px;
}
