/* ============================================================
 * nearby-stock.css — блок «В наличии рядом» (остатки партнёров)
 * Presentation-правка: цена / количество / срок разделены визуально
 * (особенно важно на mobile). Не меняет стили supplier offers.
 * ============================================================ */

.nearby-block{
  margin-top: 22px;
  border: 1.5px solid var(--border, #e5eaf1);
  border-radius: 16px;
  padding: 16px 16px 6px;
  background: var(--card, #ffffff);
}
.nearby-title{display:flex; align-items:center; gap:10px; margin-bottom:4px;}
.nearby-ttl{font-size:15px; font-weight:800; color:var(--text, #1a2433);}
.nearby-sub{font-size:12.5px; color:var(--muted, #7a8699); margin-bottom:14px;}

/* ==== КИТ — собственный склад: особый приоритет, зелёный акцент ==== */
.nearby-block.own{
  border-color: #25b06a;
  background: linear-gradient(180deg, #f2fbf6, #ffffff);
}
.nearby-block.own .nearby-ttl.own{color:#169a53;}
.nearby-block.own .nearby-sub{color:#3a8f63;}
.nso-status .st-ok.own{background:#e7f5ec; color:#1a9e58;}

/* ==== конкретная строка stock_offer ==== */
.nso{
  display:grid;
  grid-template-columns: 1.4fr 1fr auto auto;
  gap: 20px;
  align-items: center;
  background: var(--bg, #f5f7fb);
  border: 1px solid var(--border, #e5eaf1);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: box-shadow .15s, border-color .15s;
}
.nso:hover{box-shadow: var(--shadow-m, 0 6px 24px rgba(20,40,80,.08)); border-color: var(--primary, #1d6ff2);}

/* Левая колонка — бренд/артикул/название/источник */
.nso-info .nso-brand{font-weight:700; font-size:14px; color:var(--text,#1a2433);}
.nso-info .nso-art{font-size:12px; color:var(--muted,#7a8699); margin-top:2px;}
.nso-info .nso-name{font-size:13px; color:var(--text,#1a2433); margin-top:5px; line-height:1.35;}
.nso-info .nso-src{font-size:12px; color:var(--primary,#1d6ff2); margin-top:5px; font-weight:600;}

/* Средняя колонка — цена · количество / срок / ориентировочно */
.nso-mid{display:flex; flex-direction:column; gap:3px;}
.nso-row{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;}
.nso-row.main{margin-bottom:2px;}
.nso-price{font-size:17px; font-weight:800; font-variant-numeric:tabular-nums; color:var(--text,#1a2433);}
.nso-qty{font-size:13px; font-weight:600; color:var(--muted,#7a8699);}
.nso-dlv{font-size:13.5px; font-weight:700; color:var(--text,#1a2433);}
.nso-est{font-size:12.5px; color:var(--muted,#7a8699);}

/* Правая колонка — статус свежести */
.nso-status{display:flex; flex-direction:column; gap:5px; align-items:flex-start;}
.st-warn{font-weight:600; font-size:12.5px; display:inline-block; padding:3px 10px; border-radius:999px;
  background:var(--warn-bg,#fff7e8); color:var(--warn,#b07708); border:1px solid var(--warn-border,#f0e0bb);}
.st-ok{font-weight:600; font-size:12.5px; display:inline-block; padding:3px 10px; border-radius:999px;
  background:#e7f5ec; color:#1a9e58;}
.nso-stale{font-size:12px; color:var(--muted,#7a8699);}

/* CTA — тот же flow, что у обычного offer */
.nso-act{display:flex; align-items:center;}
.nso-add{background:#fff; color:var(--primary,#1d6ff2); border:1.5px solid var(--primary,#1d6ff2);
  padding:9px 18px; border-radius:10px; font-weight:700; font-size:13.5px; cursor:pointer; white-space:nowrap;}
.nso-add:hover{background:var(--primary,#1d6ff2); color:#fff;}

/* ==== MOBILE: компактно, цена/кол-во/срок раздельно ==== */
@media (max-width: 560px){
  .nso{
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 14px;
  }
  .nso-info .nso-name{font-size:12.5px;}
  .nso-mid{gap:4px;}
  .nso-price{font-size:16px;}
  .nso-dlv{font-size:13px;}
  .nso-status{flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px;}
  .nso-act{width:100%;}
  .nso-add{width:100%; padding:11px;}
}
