.b2b-order {
max-width: 960px;
margin: 0 auto;
padding: 40px 0 60px;
color: #20242a;
}

.b2b-order__header {
margin-bottom: 48px;
}

.b2b-order__title {
margin: 0;
font-size: 36px;
line-height: 1.15;
font-weight: 600;
}

.b2b-order__subtitle {
margin: 10px 0 0;
font-size: 22px;
line-height: 1.3;
color: #6b7178;
}

/* Sections */

.b2b-order__section {
margin-bottom: 42px;
padding-bottom: 42px;
border-bottom: 1px solid #e5e7ea;
}

.b2b-order__section-title {
margin: 0 0 24px;
font-size: 24px;
line-height: 1.25;
font-weight: 600;
}

/* Grid */

.b2b-order__grid {
display: grid;
gap: 20px;
}

.b2b-order__grid--2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Fields */

.b2b-order__field {
min-width: 0;
}

.b2b-order__field--wide {
grid-column: 1 / -1;
}

.b2b-order__label {
display: block;
margin-bottom: 8px;
font-size: 15px;
line-height: 1.4;
font-weight: 500;
}

.b2b-order__required {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
    top: -0.4em;
}

/* Inputs generated by Bitrix */

.b2b-order input[type="text"],
.b2b-order input[type="date"],
.b2b-order input[type="email"],
.b2b-order input[type="tel"],
.b2b-order textarea,
.b2b-order select {
display: block;
box-sizing: border-box;
width: 100%;
min-height: 52px;
padding: 13px 16px;


border: 1px solid #d5d9de;
border-radius: 8px;

background: #fff;
color: #20242a;

font-family: inherit;
font-size: 16px;
line-height: 1.4;

outline: none;

transition:
    border-color .2s ease,
    box-shadow .2s ease;


}

.b2b-order textarea {
min-height: 120px;
resize: vertical;
}

.b2b-order input:focus,
.b2b-order textarea:focus,
.b2b-order select:focus {
border-color: #111;
box-shadow: 0 0 0 3px rgba(0, 0, 0, .06);
}

/* Radio */

.b2b-order__radio {
display: flex;
flex-wrap: wrap;
gap: 12px 24px;
padding: 1rem;
}

.b2b-order__radio label {
display: inline-flex;
align-items: center;
gap: 8px;


cursor: pointer;

font-size: 16px;


}

.b2b-order__radio input[type="radio"] {
width: 18px;
height: 18px;
margin: 0;
}

/* Notice */

.b2b-order__notice {
margin: 0 0 28px;
padding: 20px 24px;


border-radius: 10px;

background: #f5f6f7;
color: #5e646b;

font-size: 14px;
line-height: 1.55;


}

.b2b-order__notice p {
margin: 0;
}

.b2b-order__notice-star {
color: #e53935;
font-weight: 600;
}

/* Agreement */

.b2b-order__agreement {
margin-bottom: 28px;
}

.b2b-order__checkbox {
display: flex;
align-items: flex-start;
gap: 12px;


cursor: pointer;


}

.b2b-order__checkbox input {
position: absolute;
opacity: 0;
pointer-events: none;
}

.b2b-order__checkbox-mark {
position: relative;
flex: 0 0 20px;


width: 20px;
height: 20px;
margin-top: 2px;

border: 1px solid #c8ccd1;
border-radius: 5px;

background: #fff;


}

.b2b-order__checkbox input:checked + .b2b-order__checkbox-mark {
background: #111;
border-color: #111;
}

.b2b-order__checkbox input:checked + .b2b-order__checkbox-mark::after {
content: "";


position: absolute;
left: 6px;
top: 2px;

width: 5px;
height: 10px;

border: solid #fff;
border-width: 0 2px 2px 0;

transform: rotate(45deg);


}

.b2b-order__checkbox-text {
font-size: 14px;
line-height: 1.5;
color: #5e646b;
}

/* Errors */

.b2b-order__errors {
margin-bottom: 20px;


color: #d32f2f;
font-size: 14px;
line-height: 1.5;


}

.b2b-order__errors:empty {
display: none;
}

/* Footer */

.b2b-order__footer {
display: flex;
align-items: center;
justify-content: flex-start;
}

.b2b-order__submit {
min-height: 54px;
padding: 0 32px;


border: 0;
border-radius: 8px;

 background: #8dc63f;
color: #fff;

font-family: inherit;
font-size: 16px;
font-weight: 500;

cursor: pointer;

transition:
    background .2s ease,
    transform .1s ease;


}

.b2b-order__submit:hover {
  background: #80b636;
}

.b2b-order__submit:active {
transform: translateY(1px);
}

/* Popup */

.b2b-order__popup {
position: fixed;
inset: 0;
z-index: 9999;


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

padding: 20px;

background: rgba(0, 0, 0, .45);


}

.b2b-order__popup-content {
position: relative;


width: 100%;
max-width: 460px;

padding: 40px;

border-radius: 12px;
background: #fff;

box-shadow: 0 20px 60px rgba(0, 0, 0, .2);


}

.b2b-order__popup-title {
margin-bottom: 12px;


font-size: 24px;
line-height: 1.25;
font-weight: 600;


}

.b2b-order__popup-text {
font-size: 16px;
line-height: 1.5;
color: #666;
}

.b2b-order__popup-close {
position: absolute;
top: 12px;
right: 16px;

border: 0;
background: transparent;

font-size: 28px;
line-height: 1;

cursor: pointer;


}

.b2b-order__popup-button {
position: static;


margin-top: 24px;
padding: 12px 24px;

border: 0;
border-radius: 7px;

background: #111;
color: #fff;

font-size: 15px;

cursor: pointer;


}

.b2b-order__popup-button:hover {
background: #292929;
}

/* Mobile */

@media (max-width: 700px) {


.b2b-order {
    padding: 30px 16px 50px;
}

.b2b-order__title {
    font-size: 28px;
}

.b2b-order__subtitle {
    font-size: 19px;
}

.b2b-order__grid--2 {
    grid-template-columns: 1fr;
}

.b2b-order__field--wide {
    grid-column: auto;
}

.b2b-order__radio {
    flex-direction: column;
    gap: 12px;
}

.b2b-order__section {
    margin-bottom: 32px;
    padding-bottom: 32px;
}

.b2b-order__popup-content {
    padding: 32px 24px;
}


}
