.tcalc-wrapper {
    --beige: #F6E2D0;
    --beige-light: #FAF7F6;
    --brown: #CFAF94;
    --orange: #E86F2D;
    --line: #E2DAD2;
    --dark: #322E2E;
    --r: 12px;
    font-family: "AvenirNextCyr", sans-serif;
    font-size: 18px;
}
.tcalc-wrapper * { box-sizing: border-box; }
/* Убрал дублирующее правило для .tcalc-wrapper и margin: 0 для * */
body { background: #fff; color: var(--dark); line-height: 1.35 }

/* ---------- layout ---------- */
.tcalc-wrapper { margin: 40px auto; }
.tcalc-wrapper h2 { font-size: clamp(22px, 4vw, 36px); font-weight: 700; text-align: center;
     text-transform: uppercase; margin-bottom: 32px }
.tcalc-wrapper .priceform { display: flex; flex-wrap: nowrap; }
.tcalc-wrapper .left { width: calc(70% - 12px); margin-right: 24px; background: var(--beige-light); padding: 32px; border-radius: var(--r); }
.tcalc-wrapper .right { width: calc(30% - 12px); padding: 32px; border: 1px solid var(--line); border-radius: var(--r); }
@media (max-width: 900px) {
.tcalc-wrapper .priceform { flex-direction: column; flex-wrap: wrap; }
.tcalc-wrapper .left { width: 100%; margin-right: 0; }
.tcalc-wrapper .right { width: 100%; margin-top: 24px; }
}

/* ---------- объект-карточки ---------- */
.tcalc-wrapper #edit-vyberite-obekt { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px }
@media (max-width: 767px) { .tcalc-wrapper #edit-vyberite-obekt { grid-template-columns: repeat(2, minmax(100px, 1fr)) } }
.tcalc-wrapper .priceform .form-radio { 
    display: none !important;
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
}
.tcalc-wrapper .js-form-item { 
    position: relative; background: #fff; border: 1px solid #E2E2E2; border-radius: var(--r); 
    transition: .2s; cursor: pointer; min-height: 120px;
}
@media (max-width: 767px) { .tcalc-wrapper .js-form-item { min-width: 100px; } }
.tcalc-wrapper .js-form-item:before {
    content: ''; display: block; width: 50px; height: 50px; margin: 15px auto 5px;
    background: url(https://psk-teamup.ru/themes/custom/flumb/img/fform.svg) no-repeat;
}
.tcalc-wrapper .js-form-item:nth-child(1):before { background-position: 0 0; }
.tcalc-wrapper .js-form-item:nth-child(2):before { background-position: -146px 0; }
.tcalc-wrapper .js-form-item:nth-child(3):before { background-position: -296px 5px; }
.tcalc-wrapper .js-form-item:nth-child(4):before { background-position: -447px 1px; }
.tcalc-wrapper .js-form-item:nth-child(5):before { background-position: -594px 1px; }
.tcalc-wrapper .js-form-item:nth-child(6):before { background-position: 0 -112px; }
.tcalc-wrapper .js-form-item:nth-child(7):before { background-position: -149px -112px; }
.tcalc-wrapper .js-form-item:nth-child(8):before { background-position: -296px -112px; }
.tcalc-wrapper .js-form-item:nth-child(9):before { background-position: -446px -112px; }
.tcalc-wrapper .js-form-item:nth-child(10):before { background-position: -593px -113px; }
.tcalc-wrapper .option {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; font-size: 14px; padding: 0 15px 15px; cursor: pointer;
    word-wrap: break-word; overflow: hidden;
}
.tcalc-wrapper .option:before {
    content: ''; position: absolute; top: 10px; left: 10px; width: 20px; height: 20px;
    border: 1px solid #E2E2E2; border-radius: 50%;
}
.tcalc-wrapper .form-radio:checked + label:before { 
    background: #FF784A url(https://psk-teamup.ru/themes/custom/flumb/img/sprt.svg) no-repeat 4px -578px;
    box-shadow: 0px 4px 10px rgba(255,120,74,0.3); border-color: #FF784A;
}
/* Исправлена ошибка в селекторе: checked должен влиять на родителя .js-form-item */
.tcalc-wrapper .form-radio:checked + .option { 
    /* Можно добавить стили для самой метки, если нужно */
}
.tcalc-wrapper .form-radio:checked + .option + .js-form-item { 
    /* Это неверный селектор, правильнее будет стилизовать родителя */
}

/* Правильный способ изменить фон родителя */
.tcalc-wrapper .js-form-item:has(> .form-radio:checked) {
    background: var(--beige);
    border-color: var(--orange); /* Пример дополнительного стиля */
}

/* ---------- ползунок ---------- */
.tcalc-wrapper .object_square { margin: 40px 0 }
.tcalc-wrapper .object_square label { font-weight: 600; display: block; margin-bottom: 8px }
@media (max-width: 767px) { .tcalc-wrapper .noUi-pips-horizontal { display:none; } }
.tcalc-wrapper .square_slider__title { margin: 12px 0; font-size: 14px; }
.tcalc-wrapper #square_slider .noUi-target { background: #EDEDED; border: none }
.tcalc-wrapper #square_slider .noUi-connect { background: var(--orange) }
.tcalc-wrapper #square_slider .noUi-horizontal .noUi-handle {
    width: 26px; height: 26px; border-radius: 50%;
    border: 3px solid #fff; box-shadow: 0 0 0 2px var(--orange); top: -10px
}
.tcalc-wrapper #square_slider .noUi-marker { background: #bdbdbd }
.tcalc-wrapper #square_slider .noUi-value { font-size: 10px; color: #666 }

/* ---------- правая колонка ---------- */
.tcalc-wrapper .gift {
    display: block; background: var(--orange); color: #fff; font-weight: 600;
    padding: 20px; border-radius: var(--r); margin-bottom: 24px;
}
.tcalc-wrapper .gift__icon { 
    float: left; margin-right: 15px;
}
.tcalc-wrapper .gift__icon svg { width: 56px; height: 56px; stroke: #fff; fill: none }
.tcalc-wrapper .gift__text { overflow: hidden; display: block; }
@media (max-width: 767px) {
    .tcalc-wrapper .gift__icon { float: none; margin: 0 auto 8px; display: block; text-align: center; }
    .tcalc-wrapper .gift__text { width: 100%; }
}

/* ---------- поля и кнопка ---------- */
.tcalc-wrapper .info { font-size: 16px; margin-bottom: 24px; }
.tcalc-wrapper input[type=text], .tcalc-wrapper input[type=email] {
    width: 100%; padding: 16px 20px; font-size: 16px;
    border: 1px solid var(--line); border-radius: var(--r); margin-bottom: 16px
}
.tcalc-wrapper .check {
  font-size: 14px; 
  margin-bottom: 16px;
  white-space: normal;
  display: block;
}
.tcalc-wrapper .check a { color:#9b251b }
.tcalc-wrapper button {
    width: 100%; padding: 18px; font-weight: 600; font-size: 16px; color: var(--dark);
    background: var(--beige); border: none; border-radius: var(--r); cursor: pointer; transition: .2s
}
.tcalc-wrapper button:disabled { opacity: .4; cursor: not-allowed }
.tcalc-wrapper button:not(:disabled):hover { background: var(--brown) }