/* =====================================================
 *  Калькулятор fund3c-v90
 *  Оформление как у 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="fund3c-v90"]{
  --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;
}

.fund3c-calc[data-calc="fund3c-v90"],
.fund3c-calc[data-calc="fund3c-v90"] *{
  box-sizing:border-box;
}

/* Основная сетка – 3 колонки (тип+параметры / свойства / схема) */
.fund3c-calc[data-calc="fund3c-v90"] .grid{
  display:grid;
  grid-template-columns:
    minmax(0,1.2fr)
    minmax(0,1fr)
    minmax(0,1.2fr);
  column-gap:20px;
  row-gap:14px;
  align-items:flex-start;
}

@media (max-width:900px){
  .fund3c-calc[data-calc="fund3c-v90"] .grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Подписи полей */
.fund3c-calc[data-calc="fund3c-v90"] label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--mc-text);
  margin:0;
}
.fund3c-calc[data-calc="fund3c-v90"] label span{
  display:block;
  margin-bottom:5px;
}

/* Универсальный стиль полей (один раз для всего калькулятора) */
.fund3c-calc[data-calc="fund3c-v90"] input[type="text"],
.fund3c-calc[data-calc="fund3c-v90"] input[type="number"],
.fund3c-calc[data-calc="fund3c-v90"] input[type="tel"],
.fund3c-calc[data-calc="fund3c-v90"] input[type="email"],
.fund3c-calc[data-calc="fund3c-v90"] 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;
}

.fund3c-calc[data-calc="fund3c-v90"] input[type="text"]:focus,
.fund3c-calc[data-calc="fund3c-v90"] input[type="number"]:focus,
.fund3c-calc[data-calc="fund3c-v90"] input[type="tel"]:focus,
.fund3c-calc[data-calc="fund3c-v90"] input[type="email"]:focus,
.fund3c-calc[data-calc="fund3c-v90"] select:focus{
  background:#ffffff;
  border-color:var(--mc-primary);
  box-shadow:0 0 0 1px rgba(220,38,38,.08);
}

/* Валидация */
.fund3c-calc[data-calc="fund3c-v90"] .invalid input{
  border-color:#dc2626;
  box-shadow:0 0 0 3px rgba(220,38,38,.15);
}
.fund3c-calc[data-calc="fund3c-v90"] .invalid-msg{
  color:#dc2626;
  font-size:12px;
  margin-top:4px;
}

/* Поле + подсказка */
.fund3c-calc[data-calc="fund3c-v90"] .fld{
  position:relative;
}
.fund3c-calc[data-calc="fund3c-v90"] .inline-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.fund3c-calc[data-calc="fund3c-v90"] .fld.warn input{
  background:#fff1f2;
  border-color:#fecaca;
}

/* Иконка-подсказка (общая) */
.rec-ico{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  cursor:help;
}
.rec-ico svg{
  width:16px;
  height:16px;
}
.rec-ico::after{
  content:attr(data-tip);
  position:absolute;
  bottom:130%;
  right:0;
  max-width:320px;
  background:#ffffff;
  color:#0f172a;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:400;
  font-style:normal;
  line-height:1.35;
  white-space:normal;
  box-shadow:0 6px 18px rgba(15,23,42,.12);
  border:1px solid #e5e7eb;
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
  transition:.15s ease;
}
.rec-ico::before{
  content:"";
  position:absolute;
  bottom:122%;
  right:10px;
  width:10px;
  height:10px;
  background:#fff;
  border-left:1px solid #e5e7eb;
  border-top:1px solid #e5e7eb;
  transform:rotate(45deg);
  opacity:0;
  transition:.15s ease;
  box-shadow:-2px -2px 8px rgba(15,23,42,.06);
}
.rec-ico:hover::after,
.rec-ico:hover::before{
  opacity:1;
  transform:translateY(0);
}

/* Секции */
.fund3c-calc[data-calc="fund3c-v90"] .section-title{
  font-weight:700;
  margin:0 0 8px 0;
}
.fund3c-calc[data-calc="fund3c-v90"] .section-box{
  border:1px dashed #e5e7eb;
  border-radius:10px;
  padding:10px;
  margin-top:8px;
}

/* Кнопки калькулятора — общая база (btn + mc-btn) */
.fund3c-calc[data-calc="fund3c-v90"] .btn,
.fund3c-calc[data-calc="fund3c-v90"] .btn-primary,
.fund3c-calc[data-calc="fund3c-v90"] .btn-secondary,
.fund3c-calc[data-calc="fund3c-v90"] .btn-ghost,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-ghost{
  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;
}

/* Основные action-кнопки калькулятора (Рассчитать / Сброс) */
.fund3c-calc[data-calc="fund3c-v90"] .btn-primary,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#ffffff;
}
.fund3c-calc[data-calc="fund3c-v90"] .btn-secondary,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary{
  background:#f8fafc;
}

.fund3c-calc[data-calc="fund3c-v90"] .btn-primary:hover,
.fund3c-calc[data-calc="fund3c-v90"] .btn-secondary:hover,
.fund3c-calc[data-calc="fund3c-v90"] .btn-ghost:hover,
.fund3c-calc[data-calc="fund3c-v90"] .btn:hover,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary:hover,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary:hover,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-ghost:hover,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn:hover{
  box-shadow:0 2px 8px rgba(15,23,42,.16);
}
.fund3c-calc[data-calc="fund3c-v90"] .btn-primary:active,
.fund3c-calc[data-calc="fund3c-v90"] .btn-secondary:active,
.fund3c-calc[data-calc="fund3c-v90"] .btn-ghost:active,
.fund3c-calc[data-calc="fund3c-v90"] .btn:active,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary:active,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary:active,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-ghost:active,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn:active{
  transform:translateY(1px);
  box-shadow:0 2px 6px rgba(15,23,42,.18);
}

.fund3c-calc[data-calc="fund3c-v90"] .btn-primary[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .btn-secondary[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .btn-ghost[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .btn[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-ghost[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn[aria-disabled="true"],
.fund3c-calc[data-calc="fund3c-v90"] .btn-primary:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .btn-secondary:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .btn-ghost:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .btn:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn-ghost:disabled,
.fund3c-calc[data-calc="fund3c-v90"] .mc-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* Группа кнопок */
.fund3c-calc[data-calc="fund3c-v90"] .btns{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Левый и правый блоки кнопок внизу калькулятора */
.fund3c-calc[data-calc="fund3c-v90"] .btns-left,
.fund3c-calc[data-calc="fund3c-v90"] .btns-right{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Правая группа (Распечатать / PDF) прижата к правому краю */
.fund3c-calc[data-calc="fund3c-v90"] .btns-right{
  margin-left:auto;
}

/* Переключатель */
.fund3c-calc[data-calc="fund3c-v90"] .btn-toggle{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
  user-select:none;
  border:1px solid #e5e7eb;
  background:#f3f4f6;
  color:#0f172a;
  font-weight:600;
}
.fund3c-calc[data-calc="fund3c-v90"] .btn-toggle.on{
  border-color:#dc2626;
  background:#dc2626;
  color:#fff;
}

/* Ползунок запаса */
.fund3c-calc[data-calc="fund3c-v90"] .reserve-wrap{
  margin-top:10px;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
  font-weight:600;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-slider{
  width:100%;
  height:6px;
  -webkit-appearance:none;
  background:#e5e7eb;
  border-radius:999px;
  outline:none;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#dc2626;
  border:2px solid #fff;
  box-shadow:0 0 0 2px #dc2626;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-slider::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#dc2626;
  border:2px solid #fff;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-slider::-moz-range-track{
  height:6px;
  background:#e5e7eb;
  border-radius:999px;
  border:none;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-ticks{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  font-size:12px;
  color:#64748b;
  margin-top:4px;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-ticks span{
  text-align:center;
}

/* Сообщения / варнинги */
.fund3c-calc[data-calc="fund3c-v90"] [data-role="msg"]{
  display:none;
  margin-top:12px;
  padding:11px 14px 11px 42px;
  border-radius:13px;
  border:1px solid #fed7d7;
  background:#fef2f2;
  color:#b91c1c;
  font-size:13px;
  line-height:1.45;
  position:relative;
}
.fund3c-calc[data-calc="fund3c-v90"] [data-role="msg"]::before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  border-radius:999px;
  background:no-repeat center/18px 18px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='11' fill='%23fee2e2'/><circle cx='12' cy='12' r='9' fill='%23b91c1c'/><path d='M11 10.2h2v7h-2zm0-3.9h2v2.3h-2z' fill='%23fef2f2'/></svg>");
}
.fund3c-calc[data-calc="fund3c-v90"] .warnbox{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #fde68a;
  background:#fffbeb;
  color:#92400e;
  border-radius:8px;
  font-size:12px;
  font-weight:400;
  font-style:italic;
  line-height:1.45;
}

/* Таблицы */
.fund3c-calc[data-calc="fund3c-v90"] .tables-responsive{
  margin-top:0;
}

/* Иконка-бокс */
.fund3c-calc[data-calc="fund3c-v90"] .iconbox{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  min-height:240px;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fund3c-calc[data-calc="fund3c-v90"] .iconbox svg{
  width:100%;
  height:auto;
  max-width:640px;
}

/* Блок 3-колоночный */
.fund3c-calc[data-calc="fund3c-v90"] .triple-block{
  grid-column:1 / -1;
}
.fund3c-calc[data-calc="fund3c-v90"] .triple-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:16px;
}
@media (max-width:900px){
  .fund3c-calc[data-calc="fund3c-v90"] .triple-grid{
    grid-template-columns:1fr;
  }
}

.fund3c-calc[data-calc="fund3c-v90"] .cost-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:8px;
}
.fund3c-calc[data-calc="fund3c-v90"] .unit-wrap{
  display:flex;
  gap:8px;
}

/* Подсказочные тексты */
.fund3c-calc[data-calc="fund3c-v90"] .note,
.fund3c-calc[data-calc="fund3c-v90"] .reserve-note{
  color:#64748b;
  font-size:12px;
  font-style:italic;
  line-height:1.35;
  font-weight:400;
}
.fund3c-calc[data-calc="fund3c-v90"] .reserve-note{
  margin-top:6px;
}

.fund3c-calc[data-calc="fund3c-v90"] .cc-hint{
  color:#64748b;
  font-size:12px;
  margin:4px 0 6px;
}
.fund3c-calc[data-calc="fund3c-v90"] .cc-quick-select{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.fund3c-calc[data-calc="fund3c-v90"] .btn-chip{
  padding:6px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  font-size:13px;
}
.fund3c-calc[data-calc="fund3c-v90"] .btn-chip.on{
  border-color:#dc2626;
  box-shadow:0 0 0 2px rgba(220,38,38,.12);
}

/* Результат */
.fund3c-calc[data-calc="fund3c-v90"] .result-banner{
  background:#dc2626;
  color:#fff;
  font-weight:800;
  padding:12px 14px;
  border-radius:10px;
  margin:12px 0;
  text-align:left;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-block{
  margin-top:16px;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-cap{
  background:#dc2626;
  color:#fff;
  font-weight:700;
  padding:12px 16px;
  border-radius:12px 12px 0 0;
  margin:0;
  line-height:1.2;
  font-size:18px;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-panel{
  border:1px solid #e5e7eb;
  border-top:none;
  border-radius:0 0 12px 12px;
  background:#fff;
  overflow:hidden;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-panel .tables-responsive{
  margin-top:0 !important;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-panel table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  border:0;
  border-left:0;
  border-right:0;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-panel td,
.fund3c-calc[data-calc="fund3c-v90"] .result-panel th{
  border:1px solid #e5e7eb;
  padding:8px 10px;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-panel tbody tr:first-child > td,
.fund3c-calc[data-calc="fund3c-v90"] .result-panel tbody tr:first-child > th{
  border-top:0 !important;
}
.fund3c-calc[data-calc="fund3c-v90"] .result-panel tbody tr:last-child > td,
.fund3c-calc[data-calc="fund3c-v90"] .result-panel tbody tr:last-child > th{
  border-bottom:0 !important;
}

/* Справка */
.fund3c-calc[data-calc="fund3c-v90"] [data-role="help"]{
  margin-top:16px !important;
}
.fund3c-calc[data-calc="fund3c-v90"] .help-title{
  font-weight:700;
  margin-bottom:6px;
  line-height:1.3;
}
.fund3c-calc[data-calc="fund3c-v90"] .help-subtitle{
  font-weight:600;
  margin-top:10px;
  margin-bottom:4px;
  line-height:1.3;
}
.fund3c-calc[data-calc="fund3c-v90"] .help-list{
  margin:8px 0 0 18px;
  padding-left:0;
  list-style:disc;
}
.fund3c-calc[data-calc="fund3c-v90"] [data-role="help"] .help-note{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#7f1d1d;
  padding:12px 14px;
  border-radius:8px;
  font-size:12px;
  line-height:1.35;
  font-style:italic;
  margin:8px 0;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}

/* =====================================================
 *  Шаг 3: «Доставка бетона» (psb-delivery-v11)
 * ===================================================== */

.fund3c-calc[data-calc="fund3c-v90"] #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;
}

/* 2 колонки: форма + карта/результат */
.fund3c-calc[data-calc="fund3c-v90"] #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="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .grid>*{
  min-width:0;
}
@media (max-width:1040px){
  .fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Карточки */
.fund3c-calc[data-calc="fund3c-v90"] #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="fund3c-v90"] #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="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--del-ink);
  margin:0 0 4px;
}

/* Сетка полей */
.fund3c-calc[data-calc="fund3c-v90"] #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;
}

/* Сносим clearfix старой .row */
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .row::before,
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .row::after{
  content:none!important;
  display:none!important;
}

.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .field{
  width:100%;
  position:relative;
}

/* Ошибка */
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] input.is-error{
  background:#fef2f2;
  border-color:#fecaca;
}

/* Кнопки шага 3 (используют общий .btn/.mc-btn) */
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .btns{
  margin-top:9px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .btns .btn-primary{
  background:#dc2626;
  border-color:#dc2626;
  color:#ffffff;
}
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .btns .btn-ghost{
  background:#f8fafc;
}

/* Подсказки / ошибки */
.fund3c-calc[data-calc="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .muted{
  font-size:13px;
  color:var(--del-muted);
  margin-top:6px;
}
.fund3c-calc[data-calc="fund3c-v90"] #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="fund3c-v90"] #psb-delivery[data-block="psb-delivery-v11"] .err-msg.show{
  display:block;
}

/* Карта */
.fund3c-calc[data-calc="fund3c-v90"] #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="fund3c-v90"]
  #psb-delivery[data-block="psb-delivery-v11"]
  .route-box,
.fund3c-calc[data-calc="fund3c-v90"]
  #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="fund3c-v90"]
  #psb-delivery[data-block="psb-delivery-v11"]
  .route-box b,
.fund3c-calc[data-calc="fund3c-v90"]
  #psb-delivery[data-block="psb-delivery-v11"]
  [data-role="route-box"] b{
  font-weight:700;
  margin-right:4px;
}
.fund3c-calc[data-calc="fund3c-v90"]
  #psb-delivery[data-block="psb-delivery-v11"]
  [data-role="distance"],
.fund3c-calc[data-calc="fund3c-v90"]
  #psb-delivery[data-block="psb-delivery-v11"]
  [data-role="duration"]{
  font-weight:700;
  color:#111827;
}

/* Текст под картой */
.fund3c-calc[data-calc="fund3c-v90"]
  #psb-delivery[data-block="psb-delivery-v11"]
  [data-role="out"]{
  margin-top:8px;
  font-size:13px;
  color:#111827;
}

/* Поверх подсказок Яндекса */
.ymaps-2-1-79-suggest,
.ymaps-2-1-79-suggest-item{
  z-index:2147483647!important;
}

/* =====================================================
 *  Блок «Оформление заказа» (KPI + аккордеон)
 * ===================================================== */

.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order{
  margin-top:20px;
  padding:14px 14px 16px;
  border-radius:16px;
  border:1px солид #e5e7eb;
  background:#ffffff;
}

.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order__title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
  color:#111827;
}

/* KPI заказа */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-order__kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:768px){
  .fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order__kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-order__kpi b{
  display:block;
  margin-bottom:3px;
  font-size:11px;
  font-weight:800;
  color:#166534;
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order__kpi span{
  font-weight:800;
  color:#111827;
}

/* ========= Кнопка выбора марки/плотности (как в aspro-mix-v3) ========= */
.fund3c-calc[data-calc="fund3c-v90"] .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;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .08s ease;
  text-decoration:none;
  color:#111827;
}

/* Пульс только когда JS добавляет .is-anim (момент нажатия «Рассчитать») */
.fund3c-calc[data-calc="fund3c-v90"] .mc-kpi-grade-btn.is-anim{
  animation:mcGradePulse .9s ease-out 0s 1;
}

/* Лёгкая анимация подсветки марки – как в mix-calc/fund3c */
@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="fund3c-v90"] .mc-kpi-grade-btn:hover{
  background:#eff6ff;
  border-color:#cbd5e1;
  box-shadow:0 4px 16px rgba(15,23,42,.16);
  transform:translateY(-1px);
}

.fund3c-calc[data-calc="fund3c-v90"] .mc-kpi-grade-btn:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(15,23,42,.14);
}

.fund3c-calc[data-calc="fund3c-v90"] .mc-kpi-grade-btn:focus-visible{
  outline:2px solid rgba(220,38,38,.55);
  outline-offset:2px;
}

/* Кнопка марки внутри KPI заказа */
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order__kpi .mc-kpi-grade-btn{
  margin-top:3px;
}

/* Кнопки под KPI */
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order__actions{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Аккордеон «Рассчитать доставку» */
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-acc{
  margin-top:14px;
  padding-top:10px;
  border-top:1px dashed #e5e7eb;
}
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-acc summary::-webkit-details-marker{
  display:none;
}
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-acc[open] .mixcalc-acc__chevron{
  transform:rotate(180deg);
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-acc__body{
  padding-top:10px;
}

/* Универсальная форма (если вдруг понадобится) */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-order-form{
    grid-template-columns:minmax(0,1fr);
  }
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-label{
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:5px;
  color:#111827;
}

/* Подсказки по доставке */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-summary b{
  font-weight:800;
}

/* Сообщения об успехе / ошибке отправки заявки */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .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;
}

/* Итоговая рамка (шаг 4) */
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .kzb-summary{
  margin-top:10px;
  padding:12px 12px 11px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#ffffff;
}

/* Малые карточки (ПМД, контакты) */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-order .kzb-mini-card h5{
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:#111827;
}

/* Ряд с телефоном/почтой — всегда по одному полю в строке */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-order .kzb-mini-card input[type="text"],
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .kzb-mini-card input[type="number"],
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .kzb-mini-card input[type="tel"],
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .kzb-mini-card input[type="email"],
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .mixcalc-order .kzb-mini-card .kzb-invalid{
  border-color:#ef4444 !important;
  background:#fff5f5 !important;
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .kzb-field-msg{
  display:none;
  margin-top:6px;
  font-size:12px;
  color:#b91c1c;
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .kzb-field-msg.show{
  display:block;
}

/* Алерт по погоде */
.fund3c-calc[data-calc="fund3c-v90"] .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="fund3c-v90"] .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 (используют базовый .btn/.mc-btn) */
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .btns{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .btns .btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#fff;
}
.fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .btns .btn-ghost{
  background:#f8fafc;
}

/* =====================================================
 * Мобильные правки — full width для кнопок и полей
 * ===================================================== */

@media (max-width:640px){
  /* Все группы кнопок в колонку */
  .fund3c-calc[data-calc="fund3c-v90"] .btns,
  .fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .btns{
    flex-direction:column;
  }

  .fund3c-calc[data-calc="fund3c-v90"] .btn,
  .fund3c-calc[data-calc="fund3c-v90"] .btn-primary,
  .fund3c-calc[data-calc="fund3c-v90"] .btn-secondary,
  .fund3c-calc[data-calc="fund3c-v90"] .btn-ghost,
  .fund3c-calc[data-calc="fund3c-v90"] .mc-btn,
  .fund3c-calc[data-calc="fund3c-v90"] .mc-btn-primary,
  .fund3c-calc[data-calc="fund3c-v90"] .mc-btn-secondary,
  .fund3c-calc[data-calc="fund3c-v90"] .mc-btn-ghost,
  .fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .btns .btn,
  .fund3c-calc[data-calc="fund3c-v90"] .mixcalc-order .btns .mc-btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }

  /* Левый/правый блоки кнопок в одну колонку и на всю ширину */
  .fund3c-calc[data-calc="fund3c-v90"] .btns-left,
  .fund3c-calc[data-calc="fund3c-v90"] .btns-right{
    width:100%;
    justify-content:flex-start;
  }
}
