.calculator__wrapper {
    /* border-radius: 18px; */
    border: 1px solid #dedede;
    -webkit-box-shadow: -2px 2px 40px 0 rgba(46, 46, 46, 0.02);
    box-shadow: -2px 2px 40px 0 rgba(46, 46, 46, 0.02);
    overflow: hidden;
}

.calculator__top {
    background: #141414;
    -webkit-box-shadow: -2px 2px 40px 0 rgba(46, 46, 46, 0.02);
    box-shadow: -2px 2px 40px 0 rgba(46, 46, 46, 0.02);
    padding: 22px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 22px;
}

.calculator__count {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 140%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.calculator__progress {
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.26);
    position: relative;
}

.calculator__progress span {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 2px;
    background: #c7c7c7;
    width: 0;
    height: 100%;
    -webkit-transition: width 0.5s ease 0s;
    transition: width 0.5s ease 0s;
}

.calculator__body {
    height: 544px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.calculator__scroll {
    width: 100%;
    overflow-y: scroll;
    min-height: 0;
    padding: 22px 52px 22px 22px;
    max-height: 544px;
}

.calculator__scroll::-webkit-scrollbar {
    display: none;
}

.calculator__scroll .simplebar-track {
    width: 8px;
}

.calculator__scroll .simplebar-track.simplebar-vertical {
    border-radius: 2px;
    background: rgba(222, 222, 222, 0.5);
    right: 22px;
    top: 22px;
    bottom: 22px;
}

.calculator__scroll .simplebar-track .simplebar-scrollbar {
    border-radius: 2px;
    background: #c7c7c7;
    opacity: 1;
    visibility: visible;
}

.calculator__scroll .simplebar-track .simplebar-scrollbar.simplebar-visible::before {
    display: none !important;
}

.calculator__start {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.calculator__warning {
    color: rgba(20, 20, 20, 0.5);
    -webkit-font-feature-settings: "liga" off, "clig" off;
    font-feature-settings: "liga" off, "clig" off;
    font-size: 12px;
    font-weight: 300;
    line-height: 133.333%;
    margin-top: 20px;
}

.calculator__bubble {
    color: rgba(20, 20, 20, 0.8);
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    position: relative;
    padding: 22px 62px 22px 22px;
    border-radius: 2px 2px 2px 0;
    background: #f4f4f4;
    word-wrap: break-word;
}

.calculator__time {
    position: absolute;
    bottom: 10px;
    right: 22px;
    color: rgba(20, 20, 20, 0.3);
    font-size: 12px;
    font-weight: 400;
    line-height: 100%;
}

.calculator__bot {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 10px;
    max-width: 530px;
}

.calculator__bot.wide {
    max-width: 665px;
}

.calculator__user {
    -ms-flex-item-align: end;
    align-self: flex-end;
    margin-top: 10px;
    width: 100%;
}

.calculator__user:not(:last-child) {
    margin-bottom: 22px;
}

.calculator__user .calculator__time {
    right: 34px;
}

.calculator__user .calculator__time::before,
.calculator__user .calculator__time::after {
    content: "";
    position: absolute;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M14 7L8.03374 13L6 10.9548' stroke='%23B5B5B5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
    background: #b5b5b5;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.calculator__user .calculator__time::before {
    right: -18px;
}

.calculator__user .calculator__time::after {
    right: -23px;
}

.calculator__user.calculator-answer {
    margin-bottom: 22px;
    max-width: 670px;
    margin-left: 60px;
}

.calculator__user.calculator-answer .calculator__bubble {
    color: #141414;
    border-radius: 2px 2px 0 2px;
    border: 1px solid #dedede;
    letter-spacing: 0.32px;
    background: transparent;
    padding: 14px 74px 14px 20px;
}

.calculator__user.calculator-number {
    max-width: 600px;
}

.calculator__user.calculator-number .calculator__bubble {
    padding: 0;
    background: transparent;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 60px;
    grid-template-columns: 1fr 190px;
    gap: 10px;
}

.calculator__user.calculator-number .calculator__hint {
    max-width: 422px;
    -ms-grid-column-span: 2;
    grid-column: span 2;
}

.calculator__user.calculator-checkbox {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 52px;
    grid-template-columns: 1fr 52px;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
    row-gap: 14px;
}

.calculator__user.calculator-checkbox .calculator__hint {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    text-align: right;
}

.calculator__user.calculator-checkbox .calculator__next {
    height: 52px;
}

.calculator__radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 12px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.calculator__radio label {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #141414;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.32px;
    height: 42px;
    text-align: center;
    padding: 5px 20px;
    border-radius: 2px;
    border: 1px solid #dedede;
    cursor: pointer;
    transition: all 0.3s ease 0s;
}

/* .calculator__radio input[type="radio"]:checked+span {
    background: #141414;
    color: #fff;
    border-color: #141414;
} */

.calculator__radio input {
    /* display: none; */
}

.calculator__edit {
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: -36px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    cursor: pointer;
}

.calculator__edit::before {
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10.4471 16.0355L11.0657 15.3422C11.8246 14.4916 13.1863 14.6021 13.7981 15.5641C14.3681 16.4602 15.6062 16.63 16.3964 15.9205L17.5176 14.9139M2.48242 16.2247L6.12074 15.4916C6.31389 15.4526 6.49124 15.3575 6.63052 15.2182L14.7752 7.06898C15.1657 6.67827 15.1655 6.04495 14.7747 5.65456L13.0493 3.93117C12.6586 3.54094 12.0256 3.54121 11.6353 3.93176L3.48972 12.0818C3.35071 12.2209 3.25579 12.3979 3.21684 12.5906L2.48242 16.2247Z' stroke='%23141414' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #141414;
}

.calculator__hint {
    color: #141414;
    -webkit-font-feature-settings: "liga" off, "clig" off;
    font-feature-settings: "liga" off, "clig" off;
    font-size: 16px;
    font-weight: 300;
    line-height: 150%;
}

.calculator__num {
    width: 100%;
    color: #141414;
    /* max-width: 422px; */
    padding: 12px 16px;
    font-family: Inter;
    font-size: 16px;
    font-weight: 400;
    height: 60px;
    border-radius: 2px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: #fff;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.calculator__num::-webkit-input-placeholder {
    color: #bbbcbd;
}

.calculator__num::-moz-placeholder {
    color: #bbbcbd;
}

.calculator__num:-ms-input-placeholder {
    color: #bbbcbd;
}

.calculator__num::-ms-input-placeholder {
    color: #bbbcbd;
}

.calculator__num::placeholder {
    color: #bbbcbd;
}

.calculator__num.has-error {
    border-color: red;
}

.calculator__next {
    height: 60px;
    border-radius: 2px;
    background: #141414;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    background: #141414;
    border: 1px solid #141414;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    cursor: pointer;
}

.calculator__next::before {
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.70996 13.29L10.29 8.28922L5.70996 3.29004' stroke='white' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='bevel'/%3E%3C/svg%3E");
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #fff;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.calculator__next.disabled {
    opacity: 0.6;
    pointer-events: none;
}

.calculator .calculator-hidden {
    opacity: 0.8;
    pointer-events: none;
}

.calculator .calculator-hidden .calculator__edit {
    opacity: 0;
}

.calculator__checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 12px;
}

.calculator__checkbox.has-error label span {
    border-color: red;
}

.calculator__checkbox label {
    display: block;
}

.calculator__checkbox label span {
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    color: #141414;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.32px;
    height: 52px;
    border-radius: 2px;
    border: 1px solid #dedede;
    padding: 5px 20px;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.calculator__checkbox label input {
    display: none;
}

.calculator__checkbox label input:checked+span {
    background: #141414;
    color: #fff;
    border-color: #141414;
}

.calculator__form {
    -ms-flex-item-align: end;
    align-self: flex-end;
    /* max-width: 720px; */
    margin-top: 10px;
    display: none;
}

.calculator__row {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 60px;
    grid-template-columns: 1fr 1fr 1fr 100px;
    gap: 10px;
}

.calculator__input {
    height: 60px;
    border-radius: 2px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: #fff;
    width: 100%;
    padding: 12px 16px;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #141414;
    border: 1px solid #fff;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.calculator__input::-webkit-input-placeholder {
    color: #76787a;
    opacity: 0.5;
}

.calculator__input::-moz-placeholder {
    color: #76787a;
    opacity: 0.5;
}

.calculator__input:-ms-input-placeholder {
    color: #76787a;
    opacity: 0.5;
}

.calculator__input::-ms-input-placeholder {
    color: #76787a;
    opacity: 0.5;
}

.calculator__input::placeholder {
    color: #76787a;
    opacity: 0.5;
}

.calculator__input:focus {
    border-color: #141414;
}

.calculator__submit {
    border-radius: 2px;
    background: #141414;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    border: 1px solid transparent;
}

.calculator__submit svg {
    max-width: 20px;
}

.calculator__submit svg path {
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.calculator__accept {
    color: rgba(20, 20, 20, 0.6);
    -webkit-font-feature-settings: "liga" off, "clig" off;
    font-feature-settings: "liga" off, "clig" off;
    font-size: 14px;
    font-weight: 300;
    line-height: 171.429%;
    margin-top: 14px;
}

.calculator__accept a {
    color: rgb(20, 20, 20);
    text-decoration: underline;
    opacity: 0.8;
}

.calculator__variants {
    display: none;
    width: 100%;
}

.calculator__items {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    margin-top: 10px;
}

.calculator__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    border-radius: 2px;
    background: #141414;
    -webkit-box-shadow: -2px 2px 40px 0 rgba(46, 46, 46, 0.02);
    box-shadow: -2px 2px 40px 0 rgba(46, 46, 46, 0.02);
    position: relative;
    width: 100%;
    height: 133px;
    padding: 20px 38px;
    overflow: hidden;
}

.calculator__img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.34;
}

.calculator__img img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.calculator__variant {
    border-radius: 88px;
    border: 1px solid rgba(250, 250, 250, 0.34);
    background: rgba(250, 250, 250, 0.12);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    color: #fafafa;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.28px;
    padding: 3px 10px;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
}

.calculator__price {
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    line-height: 140%;
    position: relative;
    z-index: 2;
}

.calculator__bottom {
    -ms-flex-item-align: end;
    align-self: flex-end;
    display: none;
    max-width: 438px;
    width: 100%;
}

.calculator__buttons {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-top: 22px;
    gap: 14px;
    width: 100%;
}

.calculator__restart {
    border-color: #141414 !important;
}



.calculator__custom-input {
    margin-top: 12px;
    width: 100%;
}

.calculator__text-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #dedede;
    border-radius: 2px;
    font-family: Inter;
    font-size: 16px;
    color: #141414;
}

.calculator__text-input::placeholder {
    color: #bbbcbd;
}

.calculator__confirm-custom {
    margin-top: 8px;
    padding: 8px 16px;
    background: #141414;
    color: white;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    font-family: Inter;
    font-size: 14px;
    transition: background 0.3s ease;
}

.calculator__confirm-custom:hover {
    background: #333;
}

.calculator__radio input[type="radio"] {
    display: none;
}

/* Стили для radio с input в одну строку */
.calculator__radio-with-input {
    display: grid;
    gap: 10px;
    align-items: center;
    width: 100%;
}

.calculator__custom-input {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 0 !important;
}

.calculator__custom-input .calculator__confirm-custom {
    margin: 0;
}

.calculator__text-input {
    flex: 1;
    min-width: 200px;
    padding: 12px 16px;
    border: 1px solid #dedede;
    border-radius: 2px;
    font-family: Inter;
    font-size: 16px;
    color: #141414;
    height: 42px;
    box-sizing: border-box;
}

.calculator__text-input::placeholder {
    color: #bbbcbd;
}

.calculator__confirm-custom {
    padding: 12px 20px;
    background: #141414;
    color: white;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    font-family: Inter;
    font-size: 14px;
    height: 42px;
    white-space: nowrap;
    transition: background 0.3s ease;
    flex-shrink: 0;
}

.calculator__confirm-custom:hover {
    background: #333;
}

.calculator__confirm-custom:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Маска телефона */
input[name="USER_PHONE"] {
    font-family: monospace;
}

/* Стили для скроллинга к вопросам */
.calculator__scroll {
    scroll-behavior: smooth;
}

/* Улучшенные стили для полей формы */
.calculator__input:invalid {
    border-color: #ff4444;
}

.calculator__input:valid {
    border-color: #00c851;
}

/* Анимация появления вопросов */
.calculator__user {
    /* animation: slideInUp 0.3s ease-out; */
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.calculator__input.has-error {
    border-color: #ff0000;
    box-shadow: 0 0 5px rgba(255, 0, 0, 0.3);
}