.configurator{
	margin:10px 0 30px 0;
}
.configurator__grid{
	display:flex;	
	flex-direction:column;
	gap:18px;
}
.configurator.isSubmitted .configurator__actions .msg{
	white-space: pre-line;
}
@media (max-width: 980px){
	.configurator__grid{
		grid-template-columns:1fr;
	}
}

.configurator__card{
	background:#fff;
	border:1px solid #d5dde5;
	border-radius:18px;
	padding:18px;
	box-shadow:0 8px 24px rgba(12, 26, 42, 0.04);
}

.configurator__card h2{
    margin: 0 0 15px;
    font-size: 14px;
    line-height: 16px;
    padding: 0 0 11px;
}

.configurator__divider{
	height:1px;
	background:#d5dde5;
	margin:16px 0;
}

.configurator__fields{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:10px;
}

.configurator__fields--main{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.configurator__fields--extra{
	grid-template-columns:repeat(1, minmax(0, 1fr));
}

.configurator .field--readonly input[readonly]{
    background: #f5f7fa;
    cursor: default;
    color: #8c8c8c;
}

.configurator .field--readonly input[readonly]:focus{
	border-color: #d7dde5;
	box-shadow: none;
	outline: none;
}

.configurator .field--readonly .label{
	color: #6b7280;
}

@media (max-width: 720px){
	.configurator__fields,
	.configurator__fields--main,
	.configurator__fields--extra{
		grid-template-columns:1fr;
	}
}

.field{	
	margin:0 0 5px;
}
.field .label{
	font-size: 10px;
    line-height: 14px;
    padding: 0 0 5px;
}
.field input,
.field select{
	width:100%;
	min-height:42px;
	padding:0 12px;	
	border-radius:10px;
	background:#fff;	
	font:inherit;
	box-sizing:border-box;
}
.field .checkboxLabel
{
	margin-top:19px;
}
.field .checkboxLabel input[type="checkbox"]:checked + label::before{
	border-color:#E4E7EA;
}
.field .checkboxLabel input[type="checkbox"] + label{
     display: flex;
    align-items: center;
	padding-top:0;	
	    font-size: 12px;
}
.field input:focus,
.field select:focus{
	outline:none;
	border-color:#7fa7d1;
	box-shadow:0 0 0 3px rgba(127, 167, 209, 0.15);
}

input:disabled,
select:disabled{
	opacity:0.75;
	cursor:not-allowed;
	background:#f2f5f8;
	color:#647485;
}

.field.isLocked{
	opacity:0.5;
	cursor:not-allowed;
}

.field.isHidden,
.isHidden{
	display:none;
}

.badge{
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #d5dde5;
    background: #f8fafc;
    padding: 14px 19px;
    border-radius: 20px;    
    font-size: 12px;
    line-height: 1.2;
    flex-direction: column;
}

.badge b{	
	font-size:16px;
}
.configurator .badge{
	display:none;
}

.configurator.isSubmitted .badge{
	display:flex;
}

.configurator__contacts{
	margin-top:16px;
}

.configurator__contactFields{
	display:grid;
	gap:10px;
	margin-top:12px;
}

.configurator__actions{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
	margin-top:14px;
}
.configurator__actions button{
width:100%;
max-width:100%;	
margin:0 auto;
}
.configurator__download{
	margin-top:14px;
	padding:12px;
	border:1px solid #d5dde5;
	border-radius:12px;
	background:#f8fafc;
	text-align:center;
}

.configurator__download a{
	font-weight:700;
}

.configurator.isSubmitted .configurator__grid > .configurator__card:first-child{
	display:none;
}

.configurator.isSubmitted .configurator__contactFields,
.configurator.isSubmitted .configurator__contacts > .group.field,
.configurator.isSubmitted .configurator__agree,
.configurator.isSubmitted .configurator__actions .Btn,
.configurator.isSubmitted .configurator__actions button{
	display:none;
}

.configurator.isSubmitted .configurator__actions{
	display:block;
	margin-top:14px;
}

.configurator.isSubmitted .configurator__actions .msg{
	display:block;
	margin:0;
	max-width:100%;
}

.configurator__download{
	margin-top:16px;
	padding:16px 18px;
	border:1px solid #ed7819;
	border-radius:12px;
	background:#fff8f1;
	box-shadow:0 6px 18px rgba(237, 120, 25, 0.12);
}

.configurator__download a{
	display:inline-block;
	font-weight:700;
	font-size:16px;
	line-height:22px;
	text-decoration:none;
}

.configurator__download a:hover{
	text-decoration:underline;
}

.configurator.isSubmitted .configurator__contacts{
	margin-top:12px;
}

.configurator.isSubmitted .configurator__contacts > h2,
.configurator.isSubmitted .configurator__contacts > .small{
	display:none;
}

.configurator.isSubmitted .badge{
	display:flex;
	align-items:flex-start;
	gap:6px;
	margin-bottom:14px;
	padding:12px 14px;
	border:1px solid #d5dde5;
	border-radius:12px;
	background:#f8fafc;
	font-size:11px;
	line-height:1.35;
	text-align:left;
}

.configurator.isSubmitted .badge b{
	display:block;
	width:100%;
	font-size:15px;
	line-height:1.35;
	word-break:break-word;
}

.configurator.isSubmitted .configurator__actions{
	display:block;
	margin-top:0;
}


.configurator.isSubmitted .configurator__download{
	margin-top:12px;
	padding:0;
	border:0;
	background:transparent;
	box-shadow:none;
}

.configurator.isSubmitted .configurator__download a{
	display:block;
	width:100%;
	box-sizing:border-box;
	padding:16px 18px;
	border:1px solid #ed7819;
	border-radius:12px;
	background:#fff8f1;
	font-weight:700;
	font-size:16px;
	line-height:22px;
	text-align:center;
	text-decoration:none;
}

.configurator.isSubmitted .configurator__download a:hover{
	text-decoration:none;
	background:#fff3e6;
}

@media (max-width: 720px){
	.configurator.isSubmitted .badge{
		padding:10px 12px;
	}

	.configurator.isSubmitted .badge b{
		font-size:14px;
	}
}


.configurator__actions--cart{
	display:block;
	margin-top:0;
}

.configurator__actions--cart h2{
	margin:0 0 14px;
}

.configurator__steps{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:10px;
	margin:12px 0 16px;
}

.configurator__step{
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:12px;
	border:1px solid #e4e7ea;
	border-radius:12px;
	background:#f8fafc;
}

.configurator__stepNumber{
	flex:0 0 28px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border-radius:50%;
	background:var(--brandcolor);
	color:#fff;
	font-weight:700;
	line-height:28px;
}

.configurator__stepText b{
	display:block;
	font-size:13px;
	line-height:16px;
	text-transform:uppercase;
}

.configurator__stepText small{
	display:block;
	margin-top:4px;
	font-size:12px;
	line-height:16px;
	color:#647485;
}

.configurator__buttonGrid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:10px;
	margin-top:14px;
}

.configurator__buttonGrid .Btn,
.orderPage .Btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	max-width:100%;
	height:50px;
	margin:0;
	padding:0 16px;
	border:0;
	border-radius:var(--radius);
	box-shadow:0 0 10px rgba(0, 0, 0, 0.2);
	font-size:14px;
	font-weight:700;
	line-height:18px;
	text-align:center;
	text-transform:uppercase;
	text-decoration:none;
	color:#fff;
	background-color:var(--brandcolor);
	background-image:linear-gradient(360deg, #873c005e, transparent);
	cursor:pointer;
	transition:background-color .25s ease, color .25s ease, transform .2s ease, box-shadow .2s ease;
}

.configurator__buttonGrid .Btn:hover,
.configurator__buttonGrid .Btn:focus-visible,
.orderPage .Btn:hover,
.orderPage .Btn:focus-visible{
	color:#fff;
	background-color:#333;
	background-image:none;
	transform:translateY(-2px);
	box-shadow:0 6px 5px rgb(29 32 41 / 10%);
	outline:none;
	text-decoration:none;
}

.configurator__buttonGrid .Btn--secondary{
	background-color:#fff;
	background-image:none;
	border:1px solid var(--brandcolor);
	color:var(--brandcolor);
	box-shadow:none;
}

.configurator__buttonGrid .Btn--secondary:hover,
.configurator__buttonGrid .Btn--secondary:focus-visible{
	background-color:#333;
	border-color:#333;
	color:#fff;
}

.configurator__buttonGrid .Btn--order,
.orderPage .Btn--order{
	grid-column:1 / -1;
	min-height:54px;	
	background-image:none;
	box-shadow:0 8px 20px rgba(29, 32, 41, .18);
}

.configurator__buttonGrid .Btn--order.hasItems{
	background-color:var(--brandcolor);
	background-image:linear-gradient(360deg, #873c005e, transparent);
}

#configurator__cartCount{
	display:inline-block;
	margin-left:4px;
}

.configurator.isSubmitted .configurator__grid > .configurator__card:first-child{
	display:block;
}

.configurator.isSubmitted .configurator__actions .Btn,
.configurator.isSubmitted .configurator__actions button{
	display:flex;
}

.configurator.isSubmitted .configurator__buttonGrid{
	display:grid;
}

.configurator.isSubmitted .configurator__actions{
	display:block;
	margin-top:0;
}

.configurator.isSubmitted .configurator__actions .msg,
.configurator.isSubmitted .configurator__actions #DlStatus{
	display:block;
	margin:14px 0 0;
	max-width:100%;
}

.configurator.isSubmitted .configurator__download{
	margin-top:12px;
}

.orderPage{
	margin:20px 0 50px;
}

.orderPage__header{
	margin-bottom:18px;
}

.orderPage__header h1{
	margin:0 0 8px;
}

.orderPage__header .small{
	margin:0;
	color:#647485;
}

.orderPage__grid{
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
	gap:22px;
	align-items:start;
}

.orderPage__sidebar{
	position:sticky;
	top:24px;
}

.orderPage .configurator__card h2,
.orderForm h2{
	margin:0 0 16px;
	font-size:14px;
	line-height:18px;
	padding:0 0 12px;
}

.orderCartList{
	display:grid;
	gap:12px;
}

.orderCartItem{
	display:grid;
	grid-template-columns:minmax(0, 1fr) 150px;
	gap:16px;
	padding:14px;
	border:1px solid #e4e7ea;
	border-radius:14px;
	background:#f8fafc;
}

.orderCartItem__formula{
	font-weight:700;
	line-height:18px;
	word-break:break-word;
}

.orderCartItem__meta{
	margin-top:6px;
	font-size:13px;
	line-height:18px;
}

.orderCartItem__price{
	margin-top:8px;
	font-size:14px;
	line-height:20px;
}

.orderCartItem__controls{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.orderCartItem__controls label{
	font-size:10px;
	line-height:14px;
}

.orderCartItem__controls input{
	width:100%;
	height:42px;
	line-height:42px;
	padding:0 12px;
}

.orderCartItem__controls .Btn,
.orderCartItem__controls button{
	width:100%;
	max-width:100%;
	height:40px;
	min-height:40px;
	margin:0;
	font-size:12px;
	line-height:14px;
}

.orderForm .group{
	margin:0 0 12px;
}

.orderForm input,
.orderForm textarea{
	width:100%;
}

.orderForm textarea{
	min-height:110px;
}

.orderForm__agree{
	display:block;
	margin:6px 0 14px;
}

.orderTotal{
	margin:16px 0 0;
	padding:14px;
	border:1px solid #e4e7ea;
	border-radius:14px;
	background:#f8fafc;
}

.orderTotal__row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	font-size:14px;
	line-height:20px;
}

.orderTotal__row + .orderTotal__row{
	margin-top:8px;
	padding-top:8px;
	border-top:1px solid #e4e7ea;
}

.orderTotal__row--total{
	font-size:18px;
	line-height:24px;
}

.orderForm #orderSubmitBtn{
	margin-top:16px;
}

.orderForm #orderStatus{
	max-width:100%;
	margin:14px 0 0;
}

@media (max-width: 980px){
	.configurator__steps,
	.configurator__buttonGrid,
	.orderPage__grid{
		grid-template-columns:1fr;
	}

	.orderPage__sidebar{
		position:relative;
		top:auto;
	}
}

@media (max-width: 650px){
	.orderCartItem{
		grid-template-columns:1fr;
	}
}


.configurator__orderIntro{
	margin: 0 0 14px;
}

.configurator__orderIntro p{
	margin: 0;
	font-size: 15px;
	line-height: 21px;
}

.configurator__mainAction,
.configurator__cartLink{
	width: 100%;
	max-width: 100%;
	margin: 0;
}
.orderCartItem__controls .Btn, .orderCartItem__controls button,
.configurator__primaryActions .Btn{
	background-color: #333;
    background-image: none;
}

.configurator__cartLink{
	display: none;
}

.configurator__cartLink.hasItems{
	display: flex;
}

.configurator.isSubmitted .configurator__grid > .configurator__card:first-child{
	display: block;
}

.configurator.isSubmitted .configurator__actions button,
.configurator.isSubmitted .configurator__actions .Btn{
	display: flex;
}

.configurator.isSubmitted #BtnGetPdf{
	display: none;
}

.configurator.isSubmitted .configurator__cartLink.hasItems{
	display: flex;
}

.configurator.isSubmitted .configurator__actions{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin-top: 14px;
}

.configurator.isSubmitted .configurator__actions .msg{
	order: -1;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 2px;
}

.configurator__download{
	margin-top: 12px;
}

.configurator__download a{
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 16px 18px;
	border: 1px solid var(--brandcolor);
	border-radius: 12px;
	background: #fff8f1;
	color: var(--brandcolor);
	font-weight: 700;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
}

.configurator__download a:hover{
	background: #fff3e6;
	color: var(--brandcolor);
	text-decoration: none;
}


.configurator__orderIntro,
.configurator__steps{
	display:none !important;
}

.configurator__actions--compact{
	display:block;
	margin-top:0;
}

.configurator__primaryActions{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:10px;
	margin-top:14px;
}

.configurator__primaryActions .Btn,
.configurator__primaryActions button,
.configurator__checkoutBlock .Btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	max-width:100%;
	height:50px;
	margin:0;
	padding:0 16px;
	border-radius:var(--radius);
	font-size:14px;
	font-weight:700;
	line-height:18px;
	text-align:center;
	text-transform:uppercase;
	text-decoration:none;
}

.configurator__primaryActions .Btn--secondary{
	background:#fff;
	background-image:none;
	border:1px solid var(--brandcolor);
	color:var(--brandcolor);
	box-shadow:none;
}

.configurator__primaryActions .Btn--secondary:hover{
	background:#333;
	border-color:#333;
	color:#fff;
}

.configurator__checkoutBlock{
	display:none;
	margin-top:14px;
}

.configurator.hasCartItems .configurator__checkoutBlock{
	display:block;
}

.configurator__separator{
	display:flex;
	align-items:center;
	gap:12px;
	margin:30px 0;
	color:#7a8491;
	font-size:11px;
	line-height:14px;
	text-transform:uppercase;
	letter-spacing:1.4px;
}

.configurator__separator::before,
.configurator__separator::after{
	content:"";
	display:block;
	height:1px;
	flex:1 1 auto;
	background:#e4e7ea;
}

.configurator__cartLink{
	background-color:var(--brandcolor);
	background-image:linear-gradient(360deg, #873c005e, transparent);
	color:#fff;
	box-shadow:0 8px 20px rgba(237, 120, 25, .18);
}

.configurator__cartLink:hover{
	background:#333;
	color:#fff;
	text-decoration:none;
}

#configurator__cartCount{
	display:inline-block;
	margin-left:4px;
}

.configurator__download{
	margin-top:12px;
	padding:0;
	border:0;
	background:transparent;
	box-shadow:none;
}

.configurator__download a{
	display:block;
	width:100%;
	box-sizing:border-box;
	padding:15px 18px;
	border:1px solid var(--brandcolor);
	border-radius:12px;
	background:#fff8f1;
	color:var(--brandcolor);
	font-weight:700;
	font-size:15px;
	line-height:20px;
	text-align:center;
	text-decoration:none;
}

.configurator__download a:hover{
	background:#fff3e6;
	color:var(--brandcolor);
	text-decoration:none;
}

.configurator.isSubmitted .configurator__grid > .configurator__card:first-child{
	display:block;
}

.configurator.isSubmitted .configurator__primaryActions{
	display:none;
}

.configurator.isSubmitted .configurator__actions,
.configurator.isSubmitted .configurator__actions--compact{
	display:block;
	margin-top:0;
}

.configurator.isSubmitted .configurator__actions .msg,
.configurator.isSubmitted .configurator__actions #DlStatus{
	display:block;
	width:100%;
	max-width:100%;
	margin:14px 0 0;
}

@media (max-width:720px){
	.configurator__primaryActions{
		grid-template-columns:1fr;
	}
}
.orderPage__main .msg{
	    width: 100%;
    max-width: 100%;
}

.configurator__actions button.configurator__addAnother{
	display:none;
	width:100%;
	max-width:100%;
	margin:12px 0 0;
	height:50px;
	border:1px solid #d5dde5;
	background:#fff;
	background-image:none;
	color:var(--color);
	box-shadow:none;
	font-size:12px;
}

.configurator__addAnother:hover,
.configurator__addAnother:focus-visible{
	background:#333;
	border-color:#333;
	color:#fff;
}

.configurator.isSubmitted .configurator__grid > .configurator__card:first-child{
	display:none !important;
}

.configurator.isSubmitted .configurator__primaryActions{
	display:none !important;
}

.configurator.isSubmitted .configurator__addAnother{
	display:flex !important;
	align-items:center;
	justify-content:center;
}

.configurator.isSubmitted .configurator__checkoutBlock{
	display:block;
}

.configurator.isSubmitted .configurator__card--result{
	margin-top:0;
}


.orderPage__successPanel[hidden]{
	display:none !important;
}

.orderPage.isSubmitted .orderPage__header,
.orderPage.isSubmitted .orderPage__grid{
	display:none !important;
}

.orderPage__successPanel{
	width:100%;
	margin:30px 0 70px;
}

.orderPage__successCard{
	width:100%;
	box-sizing:border-box;
	padding:50px 36px;
	border:1px solid #ccebd1;
	border-radius:18px;
	background:#f1fff1;
	box-shadow:0 10px 30px rgba(12, 26, 42, .08);
	text-align:center;
}

.orderPage__successIcon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:58px;
	height:58px;
	margin:0 auto 22px;
	border:3px solid var(--brandcolor);
	border-radius:50%;
	color:var(--color);
	font-size:34px;
	line-height:1;
	font-weight:700;
}

.orderPage__successCard h2{
	margin:0 0 14px;
	padding:0;
	border:0;
	font-size:28px;
	line-height:34px;
	letter-spacing:0;
	text-transform:none;
}

.orderPage__successCard p{
	max-width:680px;
	margin:0 auto;
	font-size:17px;
	line-height:25px;
}

.orderPage__successMeta{
	margin-top:16px !important;
	color:#647485;
	font-size:14px !important;
	line-height:20px !important;
}

@media (max-width:720px){
	.orderPage__successCard{
		padding:34px 20px;
	}

	.orderPage__successCard h2{
		font-size:24px;
		line-height:30px;
	}

	.orderPage__successCard p{
		font-size:15px;
		line-height:22px;
	}
}

.orderCartItem__title {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: #111827;
	text-decoration: none;
}

.orderCartItem__title:hover {
	color: #f47b20;
	text-decoration: underline;
}

.orderCartItem__metaDivider {
	margin: 0 8px;
	color: #9ca3af;
}