/* =====================================================
 * Конфигуратор состава полистиролбетона (ПСБ)
 * Стиль в духе aspro-mix-v3 + единые поля/кнопки
 * ===================================================== */

/* Баннер над калькулятором (как в mix-calc) */
.fund3c-banner{
  background:linear-gradient(135deg,#dc2626,#b91c1c);
  color:#ffffff;
  font-weight:800;
  padding:14px 20px;
  border-radius:18px 18px 0 0;
  margin:0;
  font-size:17px;
  line-height:1.35;
  letter-spacing:.25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* Корпус калькулятора ПСБ в стиле mix-calc */
.fund3c-calc[data-calc="psb-config"]{
  --accent:#dc2626;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e5e7eb;
  --panel:#ffffff;

  /* токены как у mix-calc */
  --mc-primary:#dc2626;
  --mc-primary-soft:#fef2f2;
  --mc-surface:#ffffff;
  --mc-bg-soft:#f9fafb;
  --mc-border:#d4d4d8;
  --mc-border-soft:#e5e7eb;
  --mc-text:#111827;
  --mc-muted:#6b7280;
  --mc-radius-lg:18px;
  --mc-radius-md:11px;
  --mc-field-height:46px;

  max-width:100%;
  border:1px solid var(--mc-border-soft);
  border-top:none;
  border-radius:0 0 var(--mc-radius-lg) var(--mc-radius-lg);
  padding:18px 18px 20px;
  margin:0 0 26px;
  background:var(--mc-surface);
  box-shadow:0 12px 30px rgba(15,23,42,.09);
  position:relative;
}

/* Единый box-sizing внутри калькулятора ПСБ */
.fund3c-calc[data-calc="psb-config"],
.fund3c-calc[data-calc="psb-config"] *{
  box-sizing:border-box;
}

/* Сетка карточек ПСБ */
#psbCfg .psb-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:16px;
}

@media (max-width:1024px){
  #psbCfg .psb-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:700px){
  #psbCfg .psb-grid{
    grid-template-columns:1fr;
  }
}

/* Карточки */
#psbCfg .psb-card{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
}

#psbCfg h4{
  margin:0 0 10px;
  font-size:16px;
  color:var(--ink);
}

/* Подписи и поля – стиль как в mix-calc */
#psbCfg label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--mc-text);
  margin:8px 0 6px;
}

#psbCfg input[type="number"],
#psbCfg select{
  display:block;
  width:100%;
  height:var(--mc-field-height);
  padding:10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  font-size:13px;
  line-height:1.3;
  color:var(--mc-text);
  outline:none;
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}

#psbCfg input:focus,
#psbCfg select:focus{
  background:#ffffff;
  border-color:var(--mc-primary);
  box-shadow:0 0 0 1px rgba(220,38,38,.08);
}

/* Примечания */
#psbCfg .psb-note{
  color:#64748b;
  font-size:12px;
  font-style:italic;
  line-height:1.35;
  font-weight:400;
  margin-top:6px;
}

/* Кнопки ПСБ – максимально близко к .mc-btn */
#psbCfg .psb-actions{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

#psbCfg .psb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:12px;
  font-weight:700;
  font-size:13px;
  border:1px solid #e5e7eb;
  cursor:pointer;
  user-select:none;
  transition:
    background-color .16s ease,
    box-shadow .16s ease,
    transform .06s ease,
    border-color .16s ease;
  white-space:nowrap;
  background:#ffffff;
  color:#111827;
}

#psbCfg .psb-btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#ffffff;
}

#psbCfg .psb-btn-secondary{
  background:#f8fafc;
}

#psbCfg .psb-btn:hover{
  box-shadow:0 2px 8px rgba(15,23,42,.16);
}

#psbCfg .psb-btn:active{
  transform:translateY(1px);
  box-shadow:0 2px 6px rgba(15,23,42,.18);
}

#psbCfg .psb-btn[aria-disabled="true"],
#psbCfg .psb-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* Баннер-запрет (контент задаётся из JS) */
#psbCfg .psb-ban{
  display:none;
  position:relative;
  border:1px solid #fecaca;
  background:#fee2e2;
  border-radius:12px;
  padding:12px 14px;
  margin-top:12px;
  color:#7f1d1d;
}

#psbCfg .psb-ban:before{
  content:"";
  position:absolute;
  left:-1px;
  top:-1px;
  bottom:-1px;
  width:6px;
  border-radius:12px 0 0 12px;
  background:#dc2626;
}

#psbCfg .psb-ban b{
  color:#991b1b;
}

#psbCfg .psb-ban ul{
  margin:8px 0 0 18px;
  padding:0;
}

#psbCfg .psb-ban li{
  margin:4px 0;
  font-size:13px;
}

/* Результат (контейнер; содержимое рендерится JS) */
#psbCfg .psb-result-cap{
  background:var(--accent);
  color:#fff;
  font-weight:800;
  padding:10px 14px;
  border-radius:12px 12px 0 0;
  letter-spacing:.2px;
  margin-top:16px;
}

#psbCfg .psb-result-panel{
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 12px 12px;
  background:#fff;
  padding:16px;
  box-shadow:0 8px 24px rgba(2,6,23,.06);
  display:grid;
  gap:12px;
}

/* KPI – стилистика, как у mc-kpi */
#psbCfg .psb-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:8px;
}

@media (max-width:900px){
  #psbCfg .psb-kpis{
    grid-template-columns:repeat(2,minmax(120px,1fr));
  }
}

#psbCfg .psb-kpi{
  background:#fef2f2;
  border:1px dashed #fecaca;
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
}

#psbCfg .psb-kpi b{
  display:block;
  font-size:12px;
  color:#7f1d1d;
  font-weight:700;
  margin-bottom:2px;
}

#psbCfg .psb-kpi span{
  font-weight:800;
  color:#0f172a;
}

/* Таблицы */
#psbCfg .tables-responsive.swipeignore{
  width:100%;
  overflow:auto;
}

/* Две таблицы рядом на широком экране */
#psbCfg .psb-tables{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
}

@media (min-width:1100px){
  #psbCfg .psb-tables{
    grid-template-columns:1fr 1fr;
  }
}


/* =====================================================
 * Универсальные элементы кнопок/кнопки марки (для блока "Альтернатива")
 * ===================================================== */

/* Кнопки .mc-btn, используемые в блоке "Заказать" */
.fund3c-calc[data-calc="psb-config"] .mc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:12px;
  font-weight:700;
  font-size:13px;
  border:1px solid #e5e7eb;
  cursor:pointer;
  user-select:none;
  transition:
    background-color .16s ease,
    box-shadow .16s ease,
    transform .06s ease,
    border-color .16s ease;
  white-space:nowrap;
  background:#fff;
  color:#111827;
}

.fund3c-calc[data-calc="psb-config"] .mc-btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#ffffff;
}

.fund3c-calc[data-calc="psb-config"] .mc-btn-secondary{
  background:#f8fafc;
}

.fund3c-calc[data-calc="psb-config"] .mc-btn:hover{
  box-shadow:0 2px 8px rgba(15,23,42,.16);
}

.fund3c-calc[data-calc="psb-config"] .mc-btn:active{
  transform:translateY(1px);
  box-shadow:0 2px 6px rgba(15,23,42,.18);
}

.fund3c-calc[data-calc="psb-config"] .mc-btn[aria-disabled="true"],
.fund3c-calc[data-calc="psb-config"] .mc-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* ========= Кнопка выбора марки/плотности (как в исходном mix-calc) ========= */
@keyframes mcGradePulse{
  0%{
    transform:scale(.95);
    box-shadow:0 0 0 0 rgba(220,38,38,.35);
  }
  60%{
    transform:scale(1.03);
    box-shadow:0 0 0 8px rgba(220,38,38,0);
  }
  100%{
    transform:scale(1);
    box-shadow:none;
  }
}

/* именно под ПСБ-калькулятор */
.fund3c-calc[data-calc="psb-config"] .mc-kpi-grade-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  background:#f9fafb;
  border:1px solid #e2e8f0;
  font-weight:900;
  font-size:14px;
  cursor:pointer;
  gap:6px;
  color:#111827;
  text-decoration:none;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .08s ease;
  /* анимация по умолчанию, чтобы отсутствие is-anim не мешало */
  animation:mcGradePulse .9s ease-out 0s 1;
}

.fund3c-calc[data-calc="psb-config"] .mc-kpi-grade-btn:hover{
  background:#eff6ff;
  border-color:#cbd5e1;
  box-shadow:0 4px 16px rgba(15,23,42,.16);
  transform:translateY(-1px);
  text-decoration:none;
}

.fund3c-calc[data-calc="psb-config"] .mc-kpi-grade-btn:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(15,23,42,.14);
}

.fund3c-calc[data-calc="psb-config"] .mc-kpi-grade-btn:focus-visible{
  outline:2px solid rgba(220,38,38,.55);
  outline-offset:2px;
}

/* на случай, если JS всё-таки добавит is-anim — дублируем */
.fund3c-calc[data-calc="psb-config"] .mc-kpi-grade-btn.is-anim{
  animation:mcGradePulse .9s ease-out 0s 1;
}


/* =====================================================
 *  Блок «Оформление заказа» (KPI + аккордеон) для ПСБ
 *  (Альтернатива: заказать готовый бетон у завода)
 * ===================================================== */

.fund3c-calc[data-calc="psb-config"] .mixcalc-order{
  margin-top:20px;
  padding:14px 14px 16px;
  border-radius:16px;
  border:1px solid #e5e7eb;
  background:#ffffff;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order--hidden{
  opacity:0;
  transition:opacity .18s ease;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order__title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
  color:#111827;
}

/* KPI заказа */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}

@media (max-width:1200px){
  .fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:768px){
  .fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpi{
  min-width:0;
  border-radius:12px;
  border:1px dashed #4ade80;
  padding:8px 10px;
  background:#ecfdf3;
  font-size:12px;
  line-height:1.3;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpi b{
  display:block;
  margin-bottom:3px;
  font-size:11px;
  font-weight:800;
  color:#166534;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpi span{
  font-weight:800;
  color:#111827;
}

/* Кнопка марки внутри KPI заказа */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order__kpi .mc-kpi-grade-btn{
  margin-top:3px;
}

/* Кнопки под KPI */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order__actions{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Аккордеон «Рассчитать доставку» */
.fund3c-calc[data-calc="psb-config"] .mixcalc-acc{
  margin-top:14px;
  padding-top:10px;
  border-top:1px dashed #e5e7eb;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-acc summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#eef2ff;
  font-weight:700;
  color:#111827;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-acc summary::-webkit-details-marker{
  display:none;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-acc__chevron{
  width:18px;
  height:18px;
  flex:0 0 18px;
  transition:transform .18s ease;
  background:no-repeat center/16px 16px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'><path d='M6 8l4 4 4-4' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-acc[open] .mixcalc-acc__chevron{
  transform:rotate(180deg);
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-acc__body{
  padding-top:10px;
}

/* Универсальная форма (если используется) */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order-form{
  margin-top:8px;
  padding:10px 12px 6px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 12px;
  align-items:flex-end;
}

@media (max-width:720px){
  .fund3c-calc[data-calc="psb-config"] .mixcalc-order-form{
    grid-template-columns:minmax(0,1fr);
  }
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-label{
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:5px;
  color:#111827;
}

/* Подсказки по доставке (старый summary-блок) */
.fund3c-calc[data-calc="psb-config"] .mixcalc-summary{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed #e5e7eb;
  background:#f9fafb;
  font-size:12px;
  line-height:1.5;
  color:#111827;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-summary b{
  font-weight:800;
}

/* Сообщения об успехе / ошибке отправки заявки */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order-success{
  margin-top:8px;
  padding:8px 10px;
  border-radius:11px;
  border:1px solid #22c55e;
  background:#ecfdf3;
  color:#166534;
  font-size:12px;
  display:none;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order-error{
  margin-top:8px;
  padding:8px 10px;
  border-radius:11px;
  border:1px solid #fecaca;
  background:#fef2f2;
  color:#991b1b;
  font-size:12px;
  display:none;
}


/* =====================================================
 *  Шаг 3: «Доставка бетона» (как в квизе) для ПСБ
 * ===================================================== */

.fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"]{
  --del-accent:#dc2626;
  --del-ink:#111827;
  --del-muted:#6b7280;
  --del-border:#e5e7eb;
  --del-bg:#ffffff;

  max-width:100%;
  border-radius:16px;
  border:1px solid var(--del-border);
  padding:16px 16px 14px;
  background:var(--del-bg);
  overflow:hidden;
}

/* Две колонки: слева форма, справа карта/результат */
.fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"] .grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr);
  gap:16px 18px;
}

.fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"] .grid>*{
  min-width:0;
}

@media (max-width:1040px){
  .fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"] .grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Карточки шага 3 */
.fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"] .card{
  border-radius:14px;
  border:1px solid var(--del-border);
  background:#f9fafb;
  padding:13px 13px 12px;
}

.fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"] .card h4{
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:var(--del-ink);
}

/* Подписи */
.fund3c-calc[data-calc="psb-config"] #psb-delivery[data-block="psb-delivery-v11"] label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--del-ink);
  margin:0 0 4px;
}

/* Сетка полей – без отрицательных margin, единый стиль ширины */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px 12px;
  width:100%;
  margin:0 !important;
  padding:0;
}

/* Адрес доставки во всю ширину карточки */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .field[data-role="addr"]{
  grid-column:1/-1;
}

/* Сносим clearfix от .row */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .row::before,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .row::after{
  content:none!important;
  display:none!important;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .field{
  width:100%;
  position:relative;
}

/* Поля шага 3 – как общий стиль полей калькулятора */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="text"],
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="number"],
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="tel"],
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="email"],
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  select{
  display:block;
  width:100%;
  height:var(--mc-field-height);
  padding:10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  font-size:13px;
  line-height:1.3;
  color:var(--mc-text);
  outline:none;
  box-sizing:border-box;
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="text"]:focus,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="number"]:focus,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="tel"]:focus,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="email"]:focus,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  select:focus{
  background:#ffffff;
  border-color:var(--mc-primary);
  box-shadow:0 0 0 1px rgba(220,38,38,.08);
}

/* Ошибка в поле */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input.is-error{
  background:#fef2f2;
  border-color:#fecaca;
}

/* Кнопки шага 3 – стиль как на шаге 4 */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns{
  margin-top:9px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns .btn{
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  font-size:13px;
  font-weight:700;
  color:#111827;
  white-space:nowrap;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns .btn-primary{
  background:#dc2626;
  border-color:#dc2626;
  color:#ffffff;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns .btn-ghost{
  background:#f8fafc;
}

/* Подсказки и ошибки */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .muted{
  font-size:13px;
  color:var(--del-muted);
  margin-top:6px;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .err-msg{
  display:none;
  margin-top:6px;
  padding:9px 11px;
  border-radius:11px;
  border:1px solid #fecaca;
  background:#fff1f2;
  color:#b91c1c;
  font-size:12px;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .err-msg.show{
  display:block;
}

/* Карта и блок вывода маршрута/стоимости */
.fund3c-calc[data-calc="psb-config"] #psb-map.map{
  width:100%;
  height:360px;
  border-radius:14px;
  border:1px solid var(--del-border);
  overflow:hidden;
  min-width:0;
}

/* Блок "Маршрут" (Расстояние, В пути) */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .route-box,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="route-box"]{
  margin-top:8px;
  padding:8px 11px;
  border-radius:12px;
  border:1px dashed var(--del-border);
  background:#f9fafb;
  font-size:13px;
  color:var(--del-ink);
  display:flex;
  flex-wrap:wrap;
  gap:6px 16px;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] .route-box b,
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="route-box"] b{
  font-weight:700;
  margin-right:4px;
}

.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="distance"],
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="duration"]{
  font-weight:700;
  color:#111827;
}

/* Поверх подсказок Яндекса */
.ymaps-2-1-79-suggest,
.ymaps-2-1-79-suggest-item{
  z-index:2147483647!important;
}

/* Текстовый вывод под картой */
.fund3c-calc[data-calc="psb-config"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="out"]{
  margin-top:8px;
  font-size:13px;
  color:#111827;
}


/* =====================================================
 *  Шаг 4: итог и оформление заказа (ПСБ)
 * ===================================================== */

/* Рамка итогового блока */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order .kzb-summary{
  margin-top:10px;
  padding:12px 12px 11px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#ffffff;
}

/* Малые карточки (карточка ПМД, блок контактов и т.п.) */
.fund3c-calc[data-calc="psb-config"] .mixcalc-order .kzb-mini-card{
  margin-top:10px;
  padding:10px 12px 12px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
}

.fund3c-calc[data-calc="psb-config"] .mixcalc-order .kzb-mini-card h5{
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:#111827;
}

/* Ряд с телефоном/почтой – на grid, во всю ширину */
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card > .row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px 16px;
  width:100%;
  margin:0 !important;
  padding:0;
}

/* Поля в шаге 4 — внешний вид как общий стиль (единый) */
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card input[type="text"],
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card input[type="number"],
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card input[type="tel"],
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card input[type="email"],
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card select{
  width:100%;
  height:var(--mc-field-height);
  padding:10px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  outline:none;
  background:#fff;
  box-sizing:border-box;
  font-size:13px;
  line-height:1.3;
  color:#111827;
}

/* Ошибки: как прежде */
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-mini-card .kzb-invalid{
  border-color:#ef4444 !important;
  background:#fff5f5 !important;
}

/* Сообщение под телефоном */
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-field-msg{
  display:none;
  margin-top:6px;
  font-size:12px;
  color:#b91c1c;
}

.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-field-msg.show{
  display:block;
}

/* Алерт «По прогнозу погоды…» */
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-alert{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #fed7d7;
  background:#fff1f2;
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:14px;
  color:#991b1b;
}

.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .kzb-alert .ico{
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin-top:2px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18' fill='%23ef4444'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 13.5h-2v-2h2v2Zm0-4h-2V7h2v4.5Z'/></svg>");
}

/* Кнопки шага 4 — классический стиль */
.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .btns{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .btns .btn{
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  font-weight:700;
  font-size:13px;
}

.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .btns .btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#fff;
}

.fund3c-calc[data-calc="psb-config"]
  .mixcalc-order .btns .btn-ghost{
  background:#f8fafc;
}


/* =====================================================
 * Мобильные правки – кнопки во всю ширину
 * ===================================================== */

@media (max-width:640px){
  /* Кнопки самого ПСБ-конфигуратора */
  #psbCfg .psb-actions{
    flex-direction:column;
  }

  #psbCfg .psb-btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }

  /* Кнопки шага 4 "Оформление заказа" */
  .fund3c-calc[data-calc="psb-config"] .mixcalc-order .btns{
    flex-direction:column;
  }

  .fund3c-calc[data-calc="psb-config"] .mixcalc-order .btns .btn{
    width:100%;
    text-align:center;
  }
}
