/* =====================================================
 *  Калькулятор пропорций бетона aspro-mix-v3
 *  Новый UI: единый стиль полей + шаги 3–4
 * ===================================================== */

/* Баннер над калькулятором */
.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[data-calc="aspro-mix-v3"]{
  --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;
}

.mix-calc[data-calc="aspro-mix-v3"],
.mix-calc[data-calc="aspro-mix-v3"] *{
  box-sizing:border-box;
}

/* Основная сетка калькулятора */
.mix-calc[data-calc="aspro-mix-v3"] .mc-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:20px;
  row-gap:14px;
  align-items:flex-start;
}

@media (max-width:900px){
  .mix-calc[data-calc="aspro-mix-v3"] .mc-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Подписи полей */
.mix-calc[data-calc="aspro-mix-v3"] label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--mc-text);
  margin:0;
}

.mix-calc[data-calc="aspro-mix-v3"] label span{
  display:block;
  margin-bottom:5px;
}

/* Универсальный стиль полей (весь калькулятор, как на шаге 4) */
.mix-calc[data-calc="aspro-mix-v3"] input[type="text"],
.mix-calc[data-calc="aspro-mix-v3"] input[type="number"],
.mix-calc[data-calc="aspro-mix-v3"] input[type="tel"],
.mix-calc[data-calc="aspro-mix-v3"] input[type="email"],
.mix-calc[data-calc="aspro-mix-v3"] 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;
}

.mix-calc[data-calc="aspro-mix-v3"] input[type="text"]:focus,
.mix-calc[data-calc="aspro-mix-v3"] input[type="number"]:focus,
.mix-calc[data-calc="aspro-mix-v3"] input[type="tel"]:focus,
.mix-calc[data-calc="aspro-mix-v3"] input[type="email"]:focus,
.mix-calc[data-calc="aspro-mix-v3"] select:focus{
  background:#ffffff;
  border-color:var(--mc-primary);
  box-shadow:0 0 0 1px rgba(220,38,38,.08);
}

/* Действия под формой */
.mix-calc[data-calc="aspro-mix-v3"] .mc-actions{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-actions-right{
  margin-left:auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Кнопки калькулятора (стиль как на шаге 4) */
.mix-calc[data-calc="aspro-mix-v3"] .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;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#ffffff;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-btn-secondary{
  background:#f8fafc;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-btn:hover{
  box-shadow:0 2px 8px rgba(15,23,42,.16);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-btn:active{
  transform:translateY(1px);
  box-shadow:0 2px 6px rgba(15,23,42,.18);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-btn[aria-disabled="true"],
.mix-calc[data-calc="aspro-mix-v3"] .mc-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* Сообщение об ошибке/подсказке */
.mix-calc[data-calc="aspro-mix-v3"] [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;
}

/* Текстовый вывод без KPI */
.mix-calc[data-calc="aspro-mix-v3"] [data-role="out"]{
  margin-top:14px;
  font-weight:600;
  font-size:14px;
  color:var(--mc-text);
}

/* Гармошка с расчётом вёдер */
.mix-calc[data-calc="aspro-mix-v3"] details{
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed var(--mc-border-soft);
}

.mix-calc[data-calc="aspro-mix-v3"] details summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 14px;
  border-radius:12px;
  background:linear-gradient(120deg,#eef2ff,#f9fafb);
  font-weight:700;
  color:var(--mc-text);
}

.mix-calc[data-calc="aspro-mix-v3"] details summary::-webkit-details-marker{
  display:none;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-chevron{
  width:18px;
  height:18px;
  flex:0 0 18px;
  transition:transform .2s 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 24 24' fill='none'><path d='M5 9.5L12 16l7-6.5' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.mix-calc[data-calc="aspro-mix-v3"] details[open] .mc-chevron{
  transform:rotate(180deg);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-acc-body{
  margin-top:12px;
}

/* Карточки «вёдер» */
.mix-calc[data-calc="aspro-mix-v3"] .mc-buckets-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  margin-top:8px;
}

@media (max-width:720px){
  .mix-calc[data-calc="aspro-mix-v3"] .mc-buckets-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-card{
  border-radius:14px;
  border:1px solid var(--mc-border-soft);
  padding:12px 13px;
  background:var(--mc-bg-soft);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-card[data-role="card-batch"]{
  background:#ecfdf3;
  border-color:#bbf7d0;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-card[data-role="card-total"]{
  background:#fff7ed;
  border-color:#fed7aa;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-card-title{
  font-weight:700;
  margin-bottom:6px;
}

/* Заголовок «Объём, м³…» */
.mix-calc[data-calc="aspro-mix-v3"] .mc-vol-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-vol-head .mc-hint{
  font-size:11px;
  font-style:italic;
  color:var(--mc-muted);
  white-space:nowrap;
}

/* При наличии KPI текстовый вывод скрывается */
.mix-calc[data-calc="aspro-mix-v3"][data-has-kpi="1"] [data-role="out"]{
  display:none!important;
}

/* KPI по калькулятору */
.mix-calc[data-calc="aspro-mix-v3"] .mc-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

@media (max-width:1200px){
  .mix-calc[data-calc="aspro-mix-v3"] .mc-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:768px){
  .mix-calc[data-calc="aspro-mix-v3"] .mc-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .mix-calc[data-calc="aspro-mix-v3"] .mc-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi{
  min-width:0;
  padding:7px 9px;
  border-radius:12px;
  border:1px dashed #fecaca;
  background:#fef2f2;
  font-size:12px;
  line-height:1.3;
  word-break:break-word;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi b{
  display:block;
  font-size:11px;
  font-weight:800;
  margin-bottom:3px;
  color:#7f1d1d;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi span{
  font-weight:800;
  color:var(--mc-text);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi i.sub{
  display:block;
  margin-top:2px;
  font-style:normal;
  font-size:11px;
  color:var(--mc-muted);
  font-weight:600;
}

/* Кнопка выбора марки в KPI */
.mix-calc[data-calc="aspro-mix-v3"] .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;
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi-grade-btn:hover{
  background:#eff6ff;
  border-color:#cbd5e1;
  box-shadow:0 4px 16px rgba(15,23,42,.16);
  transform:translateY(-1px);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi-grade-btn:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(15,23,42,.14);
}

.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi-grade-btn:focus-visible{
  outline:2px solid rgba(220,38,38,.55);
  outline-offset:2px;
}

/* Лёгкая анимация подсветки марки */
@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;}
}
.mix-calc[data-calc="aspro-mix-v3"] .mc-kpi-grade-btn.is-anim{
  animation:mcGradePulse .9s ease-out 0s 1;
}

/* Примечание под калькулятором */
.mix-calc[data-calc="aspro-mix-v3"] .mc-note{
  margin-top:10px;
  padding:8px 12px 8px 40px;
  border-radius:12px;
  border:1px solid var(--mc-border-soft);
  background:#f8fafc;
  color:var(--mc-muted);
  font-size:12px;
  line-height:1.5;
  position:relative;
}

/* Иконка для сообщения об ошибке/подсказке */
.mix-calc[data-calc="aspro-mix-v3"] [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>");
}

/* Иконка для примечания под калькулятором */
.mix-calc[data-calc="aspro-mix-v3"] .mc-note::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  border-radius:50%;
  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='%23e0f2fe'/><circle cx='12' cy='12' r='9' fill='%230369a1'/><path d='M11 10.3h2V17h-2zm0-3.8h2v2.4h-2z' fill='%23eff6ff'/></svg>");
}



/* =====================================================
 *  Блок «Оформление заказа» (KPI + аккордеон)
 * ===================================================== */

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order{
  margin-top:20px;
  padding:14px 14px 16px;
  border-radius:16px;
  border:1px solid #e5e7eb;
  background:#ffffff;
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
  color:#111827;
}

/* KPI заказа */
.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}

@media (max-width:1200px){
  .mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:768px){
  .mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.mix-calc[data-calc="aspro-mix-v3"] .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;
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpi b{
  display:block;
  margin-bottom:3px;
  font-size:11px;
  font-weight:800;
  color:#166534;
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpi span{
  font-weight:800;
  color:#111827;
}

/* Кнопка марки внутри KPI заказа */
.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__kpi .mc-kpi-grade-btn{
  margin-top:3px;
}

/* Кнопки под KPI */
.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order__actions{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Аккордеон «Рассчитать доставку» */
.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-acc{
  margin-top:14px;
  padding-top:10px;
  border-top:1px dashed #e5e7eb;
}

.mix-calc[data-calc="aspro-mix-v3"] .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;
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-acc summary::-webkit-details-marker{
  display:none;
}

.mix-calc[data-calc="aspro-mix-v3"] .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>");
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-acc[open] .mixcalc-acc__chevron{
  transform:rotate(180deg);
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-acc__body{
  padding-top:10px;
}

/* Универсальная форма (если используется) */
.mix-calc[data-calc="aspro-mix-v3"] .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){
  .mix-calc[data-calc="aspro-mix-v3"] .mixcalc-order-form{
    grid-template-columns:minmax(0,1fr);
  }
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-label{
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:5px;
  color:#111827;
}

/* Подсказки по доставке (старый summary-блок) */
.mix-calc[data-calc="aspro-mix-v3"] .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;
}

.mix-calc[data-calc="aspro-mix-v3"] .mixcalc-summary b{
  font-weight:800;
}

/* Сообщения об успехе / ошибке отправки заявки */
.mix-calc[data-calc="aspro-mix-v3"] .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;
}

.mix-calc[data-calc="aspro-mix-v3"] .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: «Доставка бетона» (как в квизе)
 * ===================================================== */

.mix-calc[data-calc="aspro-mix-v3"] #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;
}

/* Две колонки: слева форма, справа карта/результат */
.mix-calc[data-calc="aspro-mix-v3"] #psb-delivery[data-block="psb-delivery-v11"] .grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr);
  gap:16px 18px;
}

.mix-calc[data-calc="aspro-mix-v3"] #psb-delivery[data-block="psb-delivery-v11"] .grid>*{
  min-width:0;
}

@media (max-width:1040px){
  .mix-calc[data-calc="aspro-mix-v3"] #psb-delivery[data-block="psb-delivery-v11"] .grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Карточки шага 3 */
.mix-calc[data-calc="aspro-mix-v3"] #psb-delivery[data-block="psb-delivery-v11"] .card{
  border-radius:14px;
  border:1px solid var(--del-border);
  background:#f9fafb;
  padding:13px 13px 12px;
}

.mix-calc[data-calc="aspro-mix-v3"] #psb-delivery[data-block="psb-delivery-v11"] .card h4{
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:var(--del-ink);
}

/* Подписи */
.mix-calc[data-calc="aspro-mix-v3"] #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, единый стиль ширины */
.mix-calc[data-calc="aspro-mix-v3"]
  #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, чтобы не было пустой колонки */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .row::before,
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .row::after{
  content:none!important;
  display:none!important;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .field{
  width:100%;
  position:relative;
}

/* Поля шага 3 используют общий стиль полей калькулятора (как шаг 4) */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="text"],
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="number"],
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="tel"],
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input[type="email"],
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"]
  select{
  height:var(--mc-field-height);
  padding:10px;
  border-radius:10px;
}

/* Ошибка в поле */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"]
  input.is-error{
  background:#fef2f2;
  border-color:#fecaca;
}

/* Кнопки шага 3 – стиль как на шаге 4 */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns{
  margin-top:9px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #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;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns .btn-primary{
  background:#dc2626;
  border-color:#dc2626;
  color:#ffffff;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .btns .btn-ghost{
  background:#f8fafc;
}

/* Подсказки и ошибки */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .muted{
  font-size:13px;
  color:var(--del-muted);
  margin-top:6px;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #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;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .err-msg.show{
  display:block;
}

/* Карта и блок вывода маршрута/стоимости */
.mix-calc[data-calc="aspro-mix-v3"] #psb-map.map{
  width:100%;
  height:360px;
  border-radius:14px;
  border:1px solid var(--del-border);
  overflow:hidden;
  min-width:0;
}

/* Блок "Маршрут" (Расстояние, В пути) */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .route-box,
.mix-calc[data-calc="aspro-mix-v3"]
  #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;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] .route-box b,
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="route-box"] b{
  font-weight:700;
  margin-right:4px;
}

.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="distance"],
.mix-calc[data-calc="aspro-mix-v3"]
  #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;
}

/* Текстовый вывод под картой */
.mix-calc[data-calc="aspro-mix-v3"]
  #psb-delivery[data-block="psb-delivery-v11"] [data-role="out"]{
  margin-top:8px;
  font-size:13px;
  color:#111827;
}


/* =====================================================
 *  Шаг 4: итог и оформление заказа
 * ===================================================== */

/* Рамка итогового блока */
.mixcalc-order .kzb-summary{
  margin-top:10px;
  padding:12px 12px 11px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#ffffff;
}

/* Малые карточки (карточка ПМД, блок контактов и т.п.) */
.mixcalc-order .kzb-mini-card{
  margin-top:10px;
  padding:10px 12px 12px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
}

.mixcalc-order .kzb-mini-card h5{
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:#111827;
}

/* Ряд с телефоном/почтой – на grid, но всегда одна колонка (во всю ширину) */
.mix-calc[data-calc="aspro-mix-v3"]
  .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 — внешний вид как общий стиль (единый) */
.mixcalc-order .kzb-mini-card input[type="text"],
.mixcalc-order .kzb-mini-card input[type="number"],
.mixcalc-order .kzb-mini-card input[type="tel"],
.mixcalc-order .kzb-mini-card input[type="email"],
.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;
}

/* Ошибки: как прежде */
.mixcalc-order .kzb-mini-card .kzb-invalid{
  border-color:#ef4444 !important;
  background:#fff5f5 !important;
}

/* Сообщение под телефоном */
.mixcalc-order .kzb-field-msg{
  display:none;
  margin-top:6px;
  font-size:12px;
  color:#b91c1c;
}

.mixcalc-order .kzb-field-msg.show{
  display:block;
}

/* Алерт «По прогнозу погоды…» */
.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;
}

.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 — классический стиль */
.mixcalc-order .btns{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.mixcalc-order .btns .btn{
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  font-weight:700;
  font-size:13px;
}

.mixcalc-order .btns .btn-primary{
  border-color:#dc2626;
  background:#dc2626;
  color:#fff;
}

.mixcalc-order .btns .btn-ghost{
  background:#f8fafc;
}


/* =====================================================
 *  Мобильные правки кнопок (100% ширина)
 * ===================================================== */

@media (max-width:640px){
  /* Основные кнопки калькулятора – в столбик, на всю ширину */
  .mix-calc[data-calc="aspro-mix-v3"] .mc-actions{
    flex-direction:column;
  }

  .mix-calc[data-calc="aspro-mix-v3"] .mc-actions-right{
    margin-left:0;
    width:100%;
    justify-content:flex-start;
  }

  .mix-calc[data-calc="aspro-mix-v3"] .mc-btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }

  /* Кнопки шага 4 – тоже в столбик, full width */
  .mixcalc-order .btns{
    flex-direction:column;
  }

  .mixcalc-order .btns .btn{
    width:100%;
    text-align:center;
  }
}
