.rezcalc-cf7{max-width:860px;max-width:100%;margin:24px auto;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.rezcalc__steps{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.rezcalc__stepdot{flex:1 1 auto;min-width:32px;height:6px;border-radius:6px;background:#e5e7eb}
.rezcalc__stepdot.is-active{background:#06295A}
.rezcalc-step{display:none}
.rezcalc-step.is-active{display:block;animation:rezfade .18s ease-in}
@keyframes rezfade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.rezcalc__nav{display:flex;gap:10px;justify-content:space-between;margin-top:10px}
.rezbtn{padding:10px 14px;border:0;border-radius:10px;cursor:pointer}
.rezbtn--sec{background:#f3f4f6}
.rezbtn--pri{background:#06295A;color:#fff}
.rezcalc__result{margin-top:18px}
.rezcalc__table{width:100%;border-collapse:collapse}
.rezcalc__table th,.rezcalc__table td{border:1px solid #e5e7eb;padding:8px;text-align:right}
.rezcalc__table th:first-child,.rezcalc__table td:first-child{text-align:left;white-space:nowrap}
.rezcalc__table tfoot td{font-weight:700}

/* Подсветка самого выгодного режима */
.rezcalc__table tr.is-min td{
  background:#ecfdf5; /* светло-зелёный */
  border-color:#a7f3d0;
  font-weight:700;
}
.rezcalc__badge-min{
  display:inline-block;margin-left:8px;padding:2px 6px;border-radius:999px;
  background:#10b981;color:#fff;font-size:12px;line-height:1;vertical-align:middle;
}

.page-id-24045 #content > div > section > div > div:nth-child(1),/*ru */
.page-id-23943 #content > div > section > div > div:nth-child(1){
    width: 100%;
}
.page-id-24045 #content > div > section > div > div:nth-child(2),/*ru */
.page-id-23943 #content > div > section > div > div:nth-child(2){
    display: none!important;
}
/* Плашка лучшего режима */
.rezcalc__best{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; margin:12px 0;
  border:1px solid #a7f3d0; background:#ecfdf5; border-radius:10px;
  font-weight:600;
}
.rezcalc__best .rezcalc__badge-min{
  margin:0; background:#10b981; color:#fff; padding:4px 8px; border-radius:999px; font-size:12px;
}
.rezcalc__best small{font-weight:500; color:#065f46}

/* Метка года у localitate */
.rezcalc__yr{
  display:inline-block; margin-left:6px; padding:2px 6px; border-radius:999px;
  background:#e5e7eb; font-size:12px; color:#374151; vertical-align:middle;
}




/* Контейнер со скроллом для мобилы */
.rezcalc__table-scroller{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #e5e7eb;
  border-radius:12px;
}

/* Базовая табличка */
.rezcalc__table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width: 880px; /* чтобы колонки не слипались на узких дисплеях */
  font-size:14px;
}
.rezcalc__table th,
.rezcalc__table td{
  padding:10px 12px;
  text-align:right;
  border-bottom:1px solid #f3f4f6;
  white-space:nowrap;
}
.rezcalc__table th{ background:#f9fafb; font-weight:600; }
.rezcalc__table td:first-child,
.rezcalc__table th:first-child{ text-align:center; }

/* Липкая шапка + первый столбец (удобно при скролле) */
.rezcalc__table thead th{
  position:sticky; top:0; z-index:2;
}
.rezcalc__table th.col-name, 
.rezcalc__table td.col-name{
  position:sticky; left:0; z-index:1; background:#fff; text-align:left;
}
.rezcalc__table thead th.col-name{ z-index:3; background:#f9fafb; }

/* Лучший режим */
.rezcalc__table tr.is-min td{ background:#f0fdf4; }
.rezcalc__table .rezcalc__badge-min{
  display:inline-block; margin-left:8px; padding:2px 8px; border-radius:999px;
  background:#10b981; color:#fff; font-size:12px; font-weight:600;
}

/* Адаптив: прячем на очень узких экранах менее важные колонки */
@media (max-width: 640px){
  .rezcalc__table{ min-width:720px; font-size:13px; }
  .rezcalc__table th.col-aplic, .rezcalc__table td.col-aplic,
  .rezcalc__table th.col-divid, .rezcalc__table td.col-divid,
  .rezcalc__table th.col-taxa,  .rezcalc__table td.col-taxa,
  .rezcalc__table th.col-cont,  .rezcalc__table td.col-cont{ displayX:none; }
  
  .rezcalc__table thead th,
  .rezcalc__table th.col-name, 
  .rezcalc__table td.col-name{
      position: static;
  }
  .rezcalc__best{
    flex-wrap: wrap;
  }
  
}
@media (max-width: 480px){
  .rezcalc__table{ min-width:660px; font-size:12px; }
  .rezcalc__table th.col-paom, .rezcalc__table td.col-paom,
  .rezcalc__table th.col-cass, .rezcalc__table td.col-cass{ displayX:none; }
  .rezcalc__table th, .rezcalc__table td{ padding:8px 10px; }
}





/* Обёртка для числовых полей с подсказкой */
.reznum {
  position: relative;
  display: inline-block;
  width: 100%;
}
.reznum > input[type="number"].rezcalc-num {
  width: 100%;
  padding-right: 120px; /* место под подсказку справа */
  font-variant-numeric: tabular-nums;
}
.reznum__hint {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280; /* gray-500 */
  font-size: 13px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.reznum__hint.is-empty { opacity: .35; }



.rezcalc-cf7{
    background: #EFF2F9;
}
.rezcalc-cf7 input,
.rezcalc-cf7 select{
    background: white;
    border-radius: 8px!important;
}
.rezcalc-cf7 fieldset{
    max-width: 640px;
    margin: 10px auto;
}
.rezcalc__steps{
    max-width: 640px;
    margin: 10px auto;
    margin-bottom: 30px;
}

.rezcalc-cf7 input[name="nume"],
.rezcalc-cf7 input[name="telefon"],
.rezcalc-cf7 input[name="email"]{
    max-width: 400px!important;
}



/* Чуть стили для ошибок, в духе CF7 */
.rezcalc-next.is-disabled,
.rezcalc-next:disabled {
  opacity: .6;
  pointer-events: none;
  cursor: not-allowed;
}
.wpcf7-not-valid { border-color: #dc3232 !important; }
.wpcf7-not-valid-tip { color: #dc3232; font-size: 12px; margin-top: 4px; display: block; }