.calc-section {
  box-sizing: border-box;
  width: 100%;
  padding-top: 4vw;
  padding-bottom: 2.865vw;
  padding-left: 0;
  padding-right: 0;
  background: #f3f3f3;
  color: #202020;
  font-family: inherit;
}

.calc-section *,
.calc-section *::before,
.calc-section *::after {
  box-sizing: border-box;
}

.calc-section__header {
  width: 81.7708333333vw;
  margin: 0 auto;
  text-align: center;
}

.calc-section__title {
  margin: 0;
  max-width: 43vw;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.125vw;
  line-height: 4.1666666667vw;
  font-weight: 500;
}

.calc-section__subtitle {
  margin-top: 0;
  margin-bottom: 2.6041666667vw;
  color: #797D8A;
  font-size: 1.458vw;
  line-height: 3.1666666667vw;
  font-weight: 500;
}

.calc-section__body {
  display: flex;
  align-items: stretch;
  gap: 1vw;
  width: 81.7708333333vw;
  min-height: 44.2708333333vw;
  margin: 0 auto;
}

.calc-main,
.calc-sidebar {
  border-radius: 1.563vw;
  background: #fff;
}

.calc-main {
  width: 57.2916666667vw;
  min-height: 44.2708333333vw;
  padding: 2.0833333333vw 4.6875vw 2.6041666667vw 4.6875vw;
  display: flex;
  flex-direction: column;
}

.calc-sidebar {
  width: 23.4375vw;
  padding: 1.3541666667vw 1.3020833333vw 1.40625vw 1.3020833333vw;
  display: flex;
  flex-direction: column;
}

.calc-progress {
  margin-bottom: 2.34375vw;
}

.calc-progress__track {
  position: relative;
  /* height: 2.0833333333vw; */
  overflow: hidden;
  border-radius: 999px;
  background: #e8ebf3;
  /* padding: 0.2604166667vw 0.3125vw; */
}

.calc-progress__fill {
  position: absolute;
  
  /* inset: 0.2604166667vw auto 0.2604166667vw 0.3125vw; */
  inset: 0;

  width: 0;
  height: auto;
  overflow: hidden;
  border-radius: inherit;
  background: repeating-linear-gradient(
    120deg,
    #4664a9 0,
    #4664a9 14px,
    #6f86c8 14px,
    #6f86c8 28px
  );
  background-size: 32px 100%;
  animation: calc-progress-stripes 2s linear infinite;
  transition: width .25s ease;
  z-index: 2;
}
@keyframes calc-progress-stripes {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 32px 0;
  }
}

.calc-progress__text {
  /* position: absolute; */
  top: 0;
  left: 0;
  width: 100%;
  height: 2.0833333333vw;
  color: #202020;
  font-size: 0.8333333333vw;
  font-weight: 400;
  line-height: 2.0833333333vw;
  text-align: center;
  white-space: nowrap;
  z-index: 1;
}

.calc-progress__text--fill {
  width: var(--calc-progress-width, 100%);
  color: #fff;

  height: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.calc-step {
  display: none;
}

.calc-step.is-active {
  display: block;
}

.calc-step__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 6.6666666667vw;

  /* margin-bottom: 1.25vw; */
  margin-bottom: 2.0833333333vw;

  padding: 0 1.5625vw;
  height: 2.34375vw;
  border-radius: 100px;
  background-color: #EDEFF6;
  font-weight: 600;
  font-size: 0.78125vw;
  line-height: 2.34375vw;
  letter-spacing: 0;
  color: #1D1D1D;
  margin-right: 4.531vw;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.calc-step__title {
  text-align: center;

  font-weight: 700 !important;
  font-size: 1.667vw !important;
  line-height: 2.1875vw;
  letter-spacing: 0;
  margin: 0 !important;

  display: inline-block;
}


#calc-popup button:hover,
#calc-popup button:focus {
  background-color: #3e4893 !important;
    color: white;
}

.calc-cards,
.calc-toggles,
.calc-services,
.calc-contact-methods,
.calc-form-grid {
  display: grid;
  gap: 1.1458333333vw;
}

.calc-form-grid {
  margin-bottom: 1.25vw;
}

.calc-services {
  grid-template-columns: repeat(2, minmax(200px, 1fr));
}

.calc-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.calc-card,
.calc-toggle-card__content,
.calc-service,
.calc-contact-method,
.calc-input input,
.calc-input textarea {
  border: 0.15625vw solid transparent;
  border-radius: var(--brad-regular, 0.6vw);
  background: #eef1f7;
}

.calc-card {
  position: relative;
  min-height: 4.2708333333vw;
  padding: 1.0416666667vw 3.125vw 1.0416666667vw 1.0416666667vw;
  color: #202020;
  font: inherit;
  font-size: 0.9375vw;
  line-height: 1.3020833333vw;
  white-space: normal;
  text-align: left;
  cursor: pointer;
}

.calc-card.is-selected,
.calc-contact-method:has(input:checked),
.calc-contact-method.is-selected,
.calc-toggle-card.is-selected .calc-toggle-card__content,
.calc-toggle-card input:checked + .calc-toggle-card__content {
  border-color: #4664a9;
  background: #f8f9fd;
}

.calc-card::after,
.calc-toggle-card__content::after,
.calc-contact-method::after {
  content: "";
  position: absolute;
  right: 1.0416666667vw;
  top: 50%;
  width: 1.8229166667vw;
  height: 1.8229166667vw;
  transform: translateY(-50%);
  border: 0.3125vw solid #fbfbfb;
  border-radius: 50%;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.7861 1.24419L10.7287 0.209302C10.5861 0.0697674 10.4079 0 10.2059 0C10.004 0 9.82574 0.0697674 9.68317 0.209302L4.59802 5.18605L2.32871 2.95349C2.18614 2.81395 2.00792 2.74419 1.80594 2.74419C1.60396 2.74419 1.42574 2.81395 1.28317 2.95349L0.225743 3.98837C0.0712871 4.12791 0 4.30233 0 4.5C0 4.69767 0.0712871 4.87209 0.213861 5.01163L3.01782 7.75581L4.07525 8.7907C4.21782 8.93023 4.39604 9 4.59802 9C4.8 9 4.97822 8.93023 5.12079 8.7907L6.17822 7.75581L11.7861 2.26744C11.9287 2.12791 12 1.95349 12 1.75581C12 1.55814 11.9287 1.38372 11.7861 1.24419Z' fill='%23AEAEAE'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.625vw 0.46875vw;
  transition: .2s ease;
}

.calc-card.is-selected::after,
.calc-toggle-card input:checked + .calc-toggle-card__content::after,
.calc-toggle-card.is-selected .calc-toggle-card__content::after,
.calc-contact-method:has(input:checked)::after,
.calc-contact-method.is-selected::after {
  background-color: #4664a9;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.7861 1.24419L10.7287 0.209302C10.5861 0.0697674 10.4079 0 10.2059 0C10.004 0 9.82574 0.0697674 9.68317 0.209302L4.59802 5.18605L2.32871 2.95349C2.18614 2.81395 2.00792 2.74419 1.80594 2.74419C1.60396 2.74419 1.42574 2.81395 1.28317 2.95349L0.225743 3.98837C0.0712871 4.12791 0 4.30233 0 4.5C0 4.69767 0.0712871 4.87209 0.213861 5.01163L3.01782 7.75581L4.07525 8.7907C4.21782 8.93023 4.39604 9 4.59802 9C4.8 9 4.97822 8.93023 5.12079 8.7907L6.17822 7.75581L11.7861 2.26744C11.9287 2.12791 12 1.95349 12 1.75581C12 1.55814 11.9287 1.38372 11.7861 1.24419Z' fill='white'/%3E%3C/svg%3E");
}

.calc-card[hidden] {
  display: none;
}

.calc-toggle-card input {
  display: none;
}

.calc-toggle-card__content,
.calc-service,
.calc-contact-method {
  position: relative;
  padding: 0.9375vw;
  transition: .2s ease;
}

.calc-toggle-card__content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.calc-service {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9375vw;
}

.calc-service__title,
.calc-toggle-card__title {
  font-weight: 700;
}

.calc-service__title {
	line-height: 1.1;
}

.calc-service__description,
.calc-toggle-card__description {
  margin-top: 6px;
  color: #6f7480;
  font-size: 0.7291666667vw;
  line-height: 1.0416666667vw;
}

.calc-counter {
  display: flex;
  align-items: center;
  gap: 0.4166666667vw;
}

.calc-counter--field {
  /* display: block; */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9375vw;
  border: 0.15625vw solid transparent;
  border-radius: var(--brad-regular, 0.6vw);
  background: #eef1f7;
  position: relative;
  padding: 0.9375vw;
  transition: .2s ease;
  height: 100%;
}



.calc-counter input {
  width: 3.9583333333vw;
  height: 2.2916666667vw;
  border: 0.0520833333vw solid #d7dce8;
  border-radius: 0.5208333333vw;
  text-align: center;
    color: black !important;
}

.calc-counter--field input {
  width: 100%;
  /* margin-top: 0.5208333333vw; */
  text-align: left;
    padding-inline: 10px;
    color: black !important;
}

.calc-step[data-step='8'] .calc-step__badge {
    margin-bottom: 1rem;
}
.calc-step[data-step='8'] h3 {
	text-align: center;
	display: block;
    margin-bottom: 1rem !important;
}



.calc-counter__btn {
  width: 1.875vw;
  height: 1.875vw;
  border: 0;
  border-radius: 50%;
  background: #4664a9;
  color: #fff;
  cursor: pointer;
}

.calc-label {
  display: block;
  font-weight: 600;
}

.calc-nav {
  display: flex;
  justify-content: space-between;
  gap: 0.8333333333vw;
  margin-top: auto;
  padding-top: 2.5vw;
}

.calc-btn {
  min-width: 9.1666666667vw;
  min-height: 3.9583333333vw;
  border: 0;
  border-radius: var(--brad-regular, 0.6vw);
  background: #4664a9;
  color: #fff;
  font: inherit;
  font-size: 1.0416666667vw;
  font-weight: 700;
  cursor: pointer;
    padding-inline: 20px;
}

.calc-btn--ghost {
  background: #f0f0f0;
  color: #202020;
}

.calc-btn:disabled {
  opacity: .55;
  cursor: default;
}

.calc-toggle-card {
    cursor: pointer;
}


@media (max-width:767px) {
    .calc-step__title {
        margin-bottom: 1rem !important;
    }
    .calc-counter--field {
        flex-wrap: wrap;
        justify-content: center;
        padding-block-end: 0.7rem;
    }
    .calc-toggle-card__title {
        text-align: left;
    }
    .calc-services {
        grid-template-columns: 1fr;
    }
    .calc-counter {
        width: 100%;
        margin-top: 0.7rem;
    }
    .calc-counter input {
        width: 100% !important;
    }
    .calc-service {
        padding: 3.125vw !important;
    }
    
    .calc-final * {
		font-size: 14px !important;
	}
    .calc-final__breakdown {
        max-width: 100% !important;
        margin-bottom: 1rem;
    }
    
    .calc-contact-methods {
        margin-bottom: 1rem !important;
        margin-bottom: 2rem !important;
    }
    .calc-consent {
        align-items: start;
    }
    .calc-consent span {
        line-height: 1;
        margin-left: 0.5rem;
        text-align: left;
    }
}



.calc-sidebar__status {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.5208333333vw;
  height: 2.34375vw;
  margin-bottom: 1.4583333333vw;
  padding: 0 1.0416666667vw;
  border-radius: 999px;
  background: #2dbb45;
  color: #fff;
  font-size: 0.78125vw;
  line-height: 1.3541666667vw;
}

.calc-sidebar__status span {
  width: 0.3645833333vw;
  height: 0.3645833333vw;
  border-radius: 50%;
  background: currentColor;
}

.calc-sidebar__person {
  text-align: center;
}

.calc-sidebar__person img {
  display: block;
  width: 10vw;
  /* height: 15.4166666667vw; */
  margin: 0 auto;
  object-fit: contain;
}

.calc-sidebar__person-card {
  margin: 0 auto 1.2vw;
  /* padding: 1.0416666667vw 1.5625vw; */
  padding: 0.7vw;
  border-radius: var(--brad-regular, 0.6vw);
  /* background: #f5f5f5; */
  background: #f7f8fb;
}

.calc-sidebar__name {
  font-size: 1.0416666667vw;
  line-height: 1.3541666667vw;
  font-weight: 700;
}

.calc-sidebar__role {
  margin-top: 0.3125vw;
  font-size: 0.8333333333vw;
}

.calc-sidebar__helper {
  margin: 0 0 1.5vw;
  font-size: 0.833vw;
  line-height: 1.302083vw;
  text-align: center;
  flex-grow: 1;
}

.calc-summary {
  margin-bottom: 1.4583333333vw;
  padding: 0.9375vw;
  border-radius: var(--brad-regular, 0.6vw);
  background: #f7f8fb;
}

.calc-summary__title,
.calc-benefits__title {
  margin-bottom: 0.7291666667vw;
  font-size: 1.0416666667vw;
  line-height: 1.3541666667vw;
  font-weight: 700;
}

.calc-summary__content {
  display: grid;
  gap: 0.4166666667vw;
  font-size: 0.8333333333vw;
  line-height: 1.3020833333vw;
}

.calc-benefits {
  display: grid;
  gap: 0.78125vw;
}

.calc-benefit-card {
  min-height: 5.4270833333vw;
  padding: 1.25vw 1.5625vw;
  border-radius: var(--brad-regular, 0.6vw);
  background: #1d2735;
  color: #fff;
  font-size: 0.9375vw;
  line-height: 1.3020833333vw;
  font-weight: 500;
}

.calc-contact-methods {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.25vw;
}

.calc-contact-method {
  cursor: pointer;
  text-align: left;
}

.calc-contact-method input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.calc-input input,
.calc-input textarea {
  width: 100%;
  padding: 0.9375vw;
  border-color: transparent;
  font: inherit;
    color: black !important;
}
.calc-input input::placeholder,
.calc-input textarea::placeholder {
    color: #B0B0B1;
}

.calc-input textarea {
  min-height: 5vw;
  resize: vertical;
}

.calc-final__total {
  margin-bottom: 0.8333333333vw;
  font-size: 1.7708333333vw;
  font-weight: 700;
  text-align: center;
}

.calc-final__breakdown {
  display: grid;
  gap: 0.4166666667vw;
  max-width: 27.0833333333vw;
  margin: 0 auto 1.25vw;
}

.calc-breakdown-row {
  display: flex;
  justify-content: space-between;
  gap: 0.8333333333vw;
}

.calc-consent {
  display: flex;
  gap: 0.5208333333vw;
  margin-top: 0.8333333333vw;
  font-size: 0.7291666667vw;
}

.calc-step__error,
.calc-form-status[data-status="error"],
.is-error {
  color: #b00020;
  border-color: #b00020;
}

.calc-form-status {
  margin-top: 0.7291666667vw;
}

.calc-form-status[data-status="success"] { color: #116329; }
.calc-form-status[data-status="loading"] { color: #555; }

@media only screen and (max-width: 768px) {
  .calc-section {
    padding-top: 7.8125vw;
    padding-bottom: 7.8125vw;
  }

  .calc-section__header,
  .calc-section__body {
    width: 86.25vw;
  }

  .calc-section__title {
    max-width: 66vw;
    font-size: 6.25vw;
    line-height: 8.375vw;
  }

  .calc-section__subtitle {
    font-size: 3.75vw;
    line-height: 5vw;
    margin-bottom: 6.25vw;
  }

  .calc-section__body {
    display: block;
    min-height: 0;
  }

  .calc-sidebar {
    display: none;
  }

  .calc-main {
    width: 100%;
    min-height: 0;
    padding: 4.6875vw 4.6875vw 9.375vw;
  }

  .calc-progress {
    margin-bottom: 4.6875vw;
  }

  .calc-progress__track {
    /* height: 6.25vw; */
    /* padding: 0.9375vw 1.25vw; */
  }

  .calc-progress__fill {
    /* inset: 0.9375vw auto 0.9375vw 1.25vw; */
    inset: 0;
  }

  .calc-progress__text {
    height: 6.25vw;
    font-size: 2.5vw;
    line-height: 6.25vw;
  }

  .calc-step__badge {
    min-width: 20vw;
    height: 6.25vw;
    padding: 0 3.125vw;
    font-size: 2.1875vw;
    line-height: 6.25vw;
    margin-bottom: 2.1875vw;
  }

  .calc-step__title {
    display: block;
    margin-bottom: 4.6875vw;
    font-size: 4.375vw !important;
    line-height: 5vw;
    text-align: center;
  }

  .calc-cards,
  .calc-contact-methods,
  .calc-form-grid {
    grid-template-columns: 1fr;
    gap: 2.5vw;
  }

  .calc-card,
  .calc-toggle-card__content,
  .calc-service,
  .calc-contact-method {
    min-height: 12.75vw;
    padding: 3.125vw 11vw 3.125vw 3.125vw;
    font-size: 3.75vw;
    line-height: 4.75vw;
  }

  .calc-card::after,
  .calc-toggle-card__content::after,
  .calc-contact-method::after {
    right: 3.125vw;
    width: 5vw;
    height: 5vw;
    border-width: 0.625vw;
    background-size: 1.5625vw 1.25vw;
  }

  .calc-service__description,
  .calc-toggle-card__description {
    font-size: 2.5vw;
    line-height: 3.125vw;
  }

  .calc-counter {
    gap: 2vw;
  }

  .calc-counter input {
    width: 14vw;
    height: 9vw;
    border-radius: 1.5vw;
  }

  .calc-counter--field input {
    width: 100%;
  }

  .calc-counter__btn {
    width: 8vw;
    height: 8vw;
  }

  .calc-input input,
  .calc-input textarea {
    padding: 3.125vw;
  }

  .calc-input textarea {
    min-height: 22vw;
  }

  .calc-service {
    align-items: flex-start;
    flex-direction: column;
  }

  .calc-nav {
    flex-direction: column-reverse;
    gap: 2.5vw;
    padding-top: 12.5vw;
  }

  .calc-btn {
    width: 100%;
    min-height: 12.75vw;
    font-size: 3.75vw;
  }
}





.calc-counter__btn {
  flex-shrink: 0;
  padding: 0 !important;
}

/* For field variants: label above, counter row matches services */
.calc-counter--field > .calc-counter {
  display: flex;
  align-items: center;
  gap: 0.4166666667vw;
}

.calc-counter--field > .calc-counter input {
  flex: 1;
  min-width: 0;
  width: auto;
}

/* mobile tweak */
@media only screen and (max-width: 768px) {
  .calc-counter--field > .calc-counter {
    gap: 2vw;
  }

  .calc-counter--field > .calc-counter input {
    flex: 1;
    width: auto;
  }
}

/* Убираем стрелки в браузерах Chrome, Safari, Edge, Opera */
#calc-popup input::-webkit-outer-spin-button,
#calc-popup input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Убираем стрелки в Firefox */
#calc-popup input[type=number] {
    -moz-appearance: textfield;
}