/* --- Раздел «Для бизнеса» (/b2b). Дополняет assets/site.css --- */

/* Кнопка «Для бизнеса» в шапке */
.nav-b2b {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1rem;
  border-radius: 10px;
  color: #8445DD;
  border: 1px solid rgba(132, 69, 221, .45);
  background: rgba(132, 69, 221, .10);
  font-size: .9375rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 180ms, border-color 180ms, color 180ms;
}
.nav-b2b:hover {
  background: rgba(132, 69, 221, .18);
  border-color: #8445DD;
  color: #6D2FC4;
}
.nav-b2b.is-active {
  background: linear-gradient(135deg, #2563EB 0%, #8445DD 100%);
  color: #fff;
  border-color: transparent;
}

/* На телефонах меню в шапке скрыто (site.css), поэтому дублируем вход в раздел */
.b2b-mobile {
  display: none;
  align-items: center;
  padding: .45rem .85rem;
  border-radius: 10px;
  color: #8445DD;
  border: 1px solid rgba(132, 69, 221, .45);
  background: rgba(132, 69, 221, .10);
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .b2b-mobile { display: inline-flex; padding: .4rem .65rem; font-size: .75rem; }
  /* на телефонах меню скрыто: ужимаем логотип, чтобы кнопка «Для бизнеса» не срезалась */
  .header-inner:has(.b2b-mobile) { gap: .75rem; }
  .header-inner:has(.b2b-mobile) .logo { height: 22px; }
}

@media (prefers-color-scheme: dark) {
  .nav-b2b, .b2b-mobile {
    color: #C4A9F0;
    border-color: rgba(196, 169, 240, .45);
    background: rgba(132, 69, 221, .16);
  }
  .nav-b2b:hover { color: #fff; background: rgba(132, 69, 221, .32); border-color: #C4A9F0; }
  .nav-b2b.is-active { color: #fff; }
}

/* Хлебные крошки раздела */
.b2b-wrap { max-width: 1100px; margin: 0 auto; padding: 5.5rem 1.5rem 0; }

/* Плашка-надзаголовок */
.b2b-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .875rem;
  border-radius: 999px;
  background: rgba(132, 69, 221, .10);
  border: 1px solid rgba(132, 69, 221, .30);
  color: #8445DD;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}

/* Полоса фактов под первым экраном */
.b2b-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 2.5rem 0 0;
}
@media (min-width: 860px) {
  .b2b-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.b2b-fact {
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) * .75);
  background: var(--white);
}
.b2b-fact-num {
  display: block;
  font-family: 'Unbounded', 'Inter', sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: .375rem;
  color: var(--text);
}
.b2b-fact-label { display: block; color: var(--text-secondary); font-size: .875rem; line-height: 1.5; }

/* Таблицы раздела */
.b2b-table-wrap { overflow-x: auto; max-width: 100%; }
table.b2b-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9375rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) * .75);
  overflow: hidden;
}
table.b2b-table th, table.b2b-table td {
  padding: .875rem 1.125rem;
  text-align: left;
  border-top: 1px solid var(--border);
  vertical-align: top;
}
table.b2b-table thead th { border-top: none; background: var(--surface); font-weight: 600; }
table.b2b-table td strong { font-weight: 600; }

/* Карточки-ссылки на узкие страницы */
.b2b-cards { display: grid; gap: 1.25rem; }
@media (min-width: 860px) { .b2b-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.b2b-card {
  display: block;
  padding: 1.5rem;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) * .75);
  background: var(--white);
  text-decoration: none;
  transition: border-color 180ms, transform 180ms;
}
.b2b-card:hover { border-color: #8445DD; transform: translateY(-2px); }
.b2b-card h3 { font-size: 1.0625rem; margin-bottom: .5rem; color: var(--text); }
.b2b-card p { margin: 0; color: var(--text-secondary); font-size: .9375rem; line-height: 1.6; }
.b2b-card .b2b-card-go { display: inline-block; margin-top: .875rem; color: #8445DD; font-weight: 600; font-size: .9375rem; }

/* Список с галочками */
.b2b-check { list-style: none; margin: 0; padding: 0; }
.b2b-check li { position: relative; padding-left: 1.75rem; margin-bottom: .75rem; color: var(--text-secondary); line-height: 1.6; }
.b2b-check li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #8445DD;
  font-weight: 700;
}

/* Полоса призыва с формой заявки */
.b2b-cta {
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) * 1);
  background: linear-gradient(135deg, rgba(37, 99, 235, .07) 0%, rgba(132, 69, 221, .10) 100%);
  padding: 2rem;
}
@media (min-width: 900px) { .b2b-cta { padding: 2.5rem; } }
.b2b-cta h2 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); margin-bottom: .75rem; }
.b2b-cta p { color: var(--text-secondary); margin-bottom: 1.5rem; }
.b2b-form { display: grid; gap: 1rem; }
@media (min-width: 760px) { .b2b-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.b2b-form label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .375rem; }
.b2b-form input, .b2b-form textarea {
  width: 100%;
  padding: .75rem .875rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--white);
  color: var(--text);
  font-family: inherit;
  font-size: .9375rem;
}
.b2b-form input:focus, .b2b-form textarea:focus { outline: 2px solid rgba(132, 69, 221, .35); border-color: #8445DD; }
.b2b-form .b2b-full { grid-column: 1 / -1; }
.b2b-form .b2b-actions { grid-column: 1 / -1; display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }

/* Сноски и пояснения */
.b2b-note { font-size: .875rem; color: var(--text-secondary); line-height: 1.6; margin-top: 1rem; }
.b2b-note strong { color: var(--text); }

/* Код-пример */
.b2b-code {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  font-family: 'SF Mono', 'Consolas', monospace;
  font-size: .875rem;
  line-height: 1.6;
}
.b2b-code code { background: none; padding: 0; }

/* Компактный список ссылок в конце узких страниц */
.b2b-rel { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-top: 1rem; }
.b2b-rel a { color: #8445DD; font-weight: 600; text-decoration: none; font-size: .9375rem; }
.b2b-rel a:hover { text-decoration: underline; }

/* Поле документов и состояния формы (2026-10-04) */
.b2b-hint { font-weight: 400; color: var(--text-secondary); }
.b2b-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.b2b-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.b2b-file {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: 1rem 1.125rem;
  border: 1px dashed var(--border);
  border-radius: 10px;
  background: var(--white);
  cursor: pointer;
  transition: border-color .2s, background .2s;
}
.b2b-file:hover { border-color: #8445DD; background: rgba(132, 69, 221, .04); }
.b2b-file b { font-size: .9375rem; }
.b2b-file .b2b-file-hint { font-size: .8125rem; color: var(--text-secondary); }
.b2b-file:focus-within { border-color: #8445DD; }
.b2b-file-list { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .375rem; }
.b2b-file-list li {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: .5rem .75rem;
}
.b2b-file-list li span { flex: 1; overflow-wrap: anywhere; }
.b2b-file-list li em { color: var(--text-secondary); font-style: normal; font-size: .8125rem; white-space: nowrap; }
.b2b-file-list button {
  background: none;
  border: 0;
  padding: 0;
  color: #8445DD;
  font: inherit;
  font-size: .8125rem;
  cursor: pointer;
}
.b2b-file-list button:hover { text-decoration: underline; }
.b2b-status { border-radius: 10px; padding: .875rem 1rem; font-size: .9375rem; line-height: 1.6; }
.b2b-status.is-ok { background: rgba(22, 163, 74, .08); border: 1px solid rgba(22, 163, 74, .35); color: #14532D; }
.b2b-status.is-err { background: rgba(220, 38, 38, .07); border: 1px solid rgba(220, 38, 38, .3); color: #7F1D1D; }
.b2b-status.is-wait { background: var(--surface); border: 1px solid var(--border); color: var(--text-secondary); }
.b2b-status a { color: inherit; font-weight: 600; }

