/* ============================================================
   СТРАНИЦА «ПОСТАВЩИКАМ» (/geizer-chemistry/postavshchikam/)
   Собирает tools/chemistry-suppliers-page.py. Поля формы — общие с
   отзывами (reviews.css, .rv-form), здесь только своё: шаги и возможности
   кабинета. Карточки — синее стекло магазина (токены --gz-glass-* в
   shop-head.css).
   ============================================================ */
.sp h2 { margin: 44px 0 14px; font-size: clamp(21px, 2.4vw, 27px); line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.sp .cart-lead { max-width: 64ch; }

/* Три шага — это последовательность, поэтому номера. */
.sp-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: sp;
}
.sp-steps li,
.sp-can li {
  position: relative;
  padding: 20px 20px 18px;
  border: 1px solid var(--gz-glass-line, rgba(140, 200, 255, .32));
  border-radius: 20px;
  background: var(--gz-glass-bg, rgba(10, 36, 76, .9));
  -webkit-backdrop-filter: var(--gz-glass-blur, blur(18px));
  backdrop-filter: var(--gz-glass-blur, blur(18px));
  box-shadow: var(--gz-glass-shadow, 0 22px 50px -18px rgba(0, 6, 20, .85));
}
.sp-steps li { counter-increment: sp; }
.sp-steps li::before {
  content: counter(sp);
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  border: 1px solid rgba(255, 216, 115, .45);
  border-radius: 50%;
  background: rgba(255, 216, 115, .12);
  color: #ffd873;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.sp-steps b,
.sp-can b { display: block; margin-bottom: 6px; color: #fff; font-size: 16px; }
.sp-steps p,
.sp-can p { margin: 0; color: #b6c8e0; font-size: 14px; line-height: 1.55; }

.sp-can {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sp-can li { padding: 18px; border-radius: 18px; }

.sp-fair {
  margin: 18px 0 0;
  padding: 16px 18px;
  border-left: 2px solid #ffd873;
  border-radius: 0 14px 14px 0;
  background: rgba(255, 216, 115, .07);
  color: #d9e6f7;
  font-size: 14.5px;
  line-height: 1.6;
  max-width: 80ch;
}
.sp-fair b { color: #ffe29a; }

.sp .rv-form { margin-top: 6px; scroll-margin-top: calc(var(--shophead-stuck, 82px) + 16px); }
.sp .rv-note { max-width: 80ch; margin: 0 0 14px; padding: 14px 16px; border-radius: 14px; font-size: 14.5px; line-height: 1.55; }
.sp .rv-note.is-ok { border: 1px solid rgba(49, 216, 137, .4); background: rgba(49, 216, 137, .1); color: #d7ffea; }
.sp .rv-note.is-bad { border: 1px solid rgba(255, 120, 120, .4); background: rgba(255, 90, 90, .1); color: #ffe0e0; }
.sp .rv-note[hidden] { display: none; }

@media (max-width: 900px) {
  .sp-steps, .sp-can { grid-template-columns: minmax(0, 1fr); }
}
