/* ==========================================================================
   Страницы по нишам (chat-bot-*.html, bot-dlya-*.html и т. п.).

   Подключается ПОСЛЕ styles.css и только добавляет: токены, кнопки, шапка,
   подвал, FAQ и полоса призыва берутся из общей таблицы как есть. Здесь —
   то, чего на главной нет: первый экран с примером переписки, статусы
   каналов, карточка цены, кыргызский блок и перелинковка ниш.

   Страницы собирает tools/build_seo_pages.py — правьте тексты там, а не
   в HTML, иначе следующая сборка перезапишет правку.
   ========================================================================== */

/* Шапка без меню: пунктов три, они помещаются и так, а на телефоне их
   заменяет нижняя панель действий. Переключатель темы на главной уезжает
   уже 480px в меню — здесь меню нет, поэтому оставляем его в шапке. */
.pg .nav-links { margin-inline: auto; }
@media (max-width: 1180px) {
  .pg .nav-links { display: none; }
}
@media (max-width: 479px) {
  .pg .header-theme { display: inline-flex; }
}

/* --- Хлебные крошки ---------------------------------------------------- */

.pg-crumbs {
  padding-top: clamp(18px, 3vw, 28px);
  font-size: .812rem;
  color: var(--faint);
}
.pg-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pg-crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--line-strong); }
.pg-crumbs a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
.pg-crumbs a:hover { color: var(--ink); }

/* --- Первый экран ------------------------------------------------------ */

.pg-hero { padding-block: clamp(24px, 4vw, 48px) clamp(56px, 7vw, 96px); }
.pg-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}
.pg-hero h1 {
  margin-top: 16px;
  font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.1rem);
  overflow-wrap: anywhere;
  hyphens: auto;
}
.pg-lead {
  margin-top: 20px;
  font-size: clamp(1.02rem, .97rem + .25vw, 1.15rem);
  color: var(--body);
  max-width: 58ch;
  text-wrap: pretty;
}
.pg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.pg-note {
  margin-top: 14px;
  font-size: .844rem;
  color: var(--muted);
  max-width: 56ch;
}
.pg-note strong { color: var(--ink); font-weight: 600; }

/* На телефоне кнопки во всю ширину: две половинки по 160px с длинной
   подписью переносят текст, а перенос в кнопке читается как поломка. */
@media (max-width: 520px) {
  .pg-actions .btn { width: 100%; white-space: normal; text-align: center; }
}

/* --- Пример переписки -------------------------------------------------- */

/* Та же «ночь», что на главной, но без анимации и без фиксированной высоты:
   здесь диалог не печатается, а лежит целиком — его читают, а не смотрят. */
.pg-chat {
  border: 1px solid var(--night-line);
  border-radius: var(--r-lg);
  background: var(--night);
  color: var(--night-body);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.pg-chat-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--night-line);
  font-family: var(--mono);
  font-size: .656rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--night-muted);
}
.pg-thread {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 16px;
}
.pg-msg {
  max-width: 88%;
  padding: 10px 13px;
  border-radius: var(--r-md);
  font-size: .875rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.pg-msg-in {
  align-self: flex-start;
  background: var(--night-2);
  border: 1px solid var(--night-line);
  border-bottom-left-radius: var(--r-xs);
  color: var(--night-ink);
}
.pg-msg-out {
  align-self: flex-end;
  background: var(--accent-deep);
  border-bottom-right-radius: var(--r-xs);
  color: var(--night-on-accent);
}
.pg-msg-handoff {
  align-self: flex-end;
  background: var(--night-2);
  border: 1px solid var(--ok-lit);
  border-bottom-right-radius: var(--r-xs);
  color: var(--night-ink);
}
.pg-who {
  display: block;
  margin-bottom: 3px;
  font-family: var(--mono);
  font-size: .625rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .78;
}
.pg-msg-out .pg-who { opacity: .92; }
.pg-msg-handoff .pg-who { color: var(--ok-lit); opacity: 1; }
.pg-attach {
  display: inline-block;
  margin-top: 2px;
  padding: 2px 8px;
  border: 1px dashed var(--night-line-strong);
  border-radius: var(--r-xs);
  font-family: var(--mono);
  font-size: .719rem;
  color: var(--night-muted);
}

/* Карточка — то, что уходит менеджеру в Telegram-группу. */
.pg-card {
  margin-top: 4px;
  padding: 13px 14px;
  border: 1px solid var(--night-line-strong);
  border-radius: var(--r-md);
  background: var(--night-2);
}
.pg-card-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  font-family: var(--mono);
  font-size: .656rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--night-muted);
}
.pg-card-title svg { color: var(--ok-lit); flex: none; }
.pg-card dl { display: grid; gap: 6px; margin: 0; }
.pg-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: .812rem;
}
.pg-card dt { color: var(--night-muted); flex: none; }
.pg-card dd { margin: 0; color: var(--night-ink); text-align: right; overflow-wrap: anywhere; }
.pg-card-foot {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--night-line);
  font-size: .75rem;
  color: var(--night-muted);
}
.pg-chat-foot {
  padding: 10px 16px 14px;
  font-size: .75rem;
  color: var(--night-faint);
}

/* --- Секции ------------------------------------------------------------ */

.pg-section { padding-block: clamp(56px, 7vw, 96px); }
.pg-section .section-head { margin-bottom: clamp(28px, 4vw, 44px); }

/* Что умеет бот — список с отметками, а не карточки: пунктов шесть-семь,
   и каждый — законченная фраза, которую читают, а не сканируют иконками. */
.pg-feats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 14px 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pg-feats li {
  position: relative;
  padding-left: 26px;
  font-size: .969rem;
  color: var(--body);
}
.pg-feats li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .58em;
  width: 11px;
  height: 6px;
  border-left: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(-45deg);
}
.pg-feats strong { color: var(--ink); font-weight: 600; }

/* Чего бот не делает — отдельной плашкой: это обещание, а не мелкий шрифт. */
.pg-limits {
  margin-top: clamp(28px, 4vw, 40px);
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--warn);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: .906rem;
  color: var(--body);
}
.pg-limits h3 { font-size: .938rem; margin-bottom: 8px; }
.pg-limits ul { margin: 0; padding-left: 1.1em; }
.pg-limits li + li { margin-top: 6px; }

/* --- Каналы: что работает сегодня -------------------------------------- */

.pg-channels {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.pg-channels li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 16px;
  align-items: center;
  padding: 16px 20px;
  background: var(--surface);
}
.pg-channels .ch-name { color: var(--ink); font-weight: 500; }
.pg-channels .ch-note { grid-column: 1 / -1; font-size: .844rem; color: var(--muted); }
.pg-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  font-family: var(--mono);
  font-size: .688rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.pg-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.pg-pill.is-ok   { background: var(--ok-soft); color: var(--ok-ink); }
.pg-pill.is-beta { background: var(--accent-soft); color: var(--accent-ink); }
.pg-pill.is-soon { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); }
.pg-channels-note { margin-top: 16px; font-size: .906rem; color: var(--muted); max-width: 72ch; }

/* --- Цена -------------------------------------------------------------- */

.pg-price {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  box-shadow: var(--shadow-md);
}
.pg-price-tag { font-family: var(--display); font-size: clamp(2.2rem, 1.6rem + 2vw, 3rem); color: var(--ink); letter-spacing: -.03em; line-height: 1.1; }
.pg-price-tag small { font-family: var(--font); font-size: 1rem; color: var(--muted); letter-spacing: 0; }
.pg-price-name { font-family: var(--mono); font-size: .719rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.pg-price-free {
  display: inline-block;
  margin-top: 12px;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  background: var(--ok-soft);
  color: var(--ok-ink);
  font-size: .844rem;
  font-weight: 500;
}
.pg-price p { margin-top: 14px; font-size: .906rem; color: var(--muted); }
.pg-price p a, .pg-channels-note a, .pg-ky p a, .pg-limits a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.pg-price ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.pg-price li { position: relative; padding-left: 22px; font-size: .906rem; }
.pg-price li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .55em;
  width: 9px;
  height: 5px;
  border-left: 2px solid var(--ok);
  border-bottom: 2px solid var(--ok);
  transform: rotate(-45deg);
}

/* --- Кыргызча ---------------------------------------------------------- */

.pg-ky {
  padding: clamp(22px, 3.5vw, 34px);
  border: 1px solid var(--accent-line);
  border-radius: var(--r-lg);
  background: var(--accent-soft);
}
.pg-ky h2 { font-size: clamp(1.3rem, 1.1rem + .9vw, 1.7rem); }
.pg-ky p { margin-top: 12px; color: var(--body); max-width: 70ch; }
.pg-ky .pg-actions { margin-top: 18px; }

/* --- Другие ниши ------------------------------------------------------- */

.pg-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pg-links a {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: 100%;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
  transition: border-color .16s var(--ease), transform .16s var(--ease);
}
.pg-links a:hover { border-color: var(--accent-line); transform: translateY(-1px); }
.pg-links .pl-title { color: var(--ink); font-weight: 500; }
.pg-links .pl-sub { font-size: .844rem; color: var(--muted); }

/* --- Шаги (страница-хаб) ----------------------------------------------- */

.pg-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.pg-steps li {
  counter-increment: step;
  padding: 20px;
  background: var(--surface);
  font-size: .906rem;
  color: var(--muted);
}
.pg-steps li::before {
  content: counter(step, decimal-leading-zero);
  display: block;
  margin-bottom: 10px;
  font-family: var(--mono);
  font-size: .75rem;
  color: var(--accent-ink);
}
.pg-steps strong { display: block; margin-bottom: 4px; color: var(--ink); font-weight: 600; }

/* FAQ на этих страницах открыт по одному, как на главной; ширина — по тексту. */
.pg .faq-list { margin-inline: 0; }

/* --- Адаптив ----------------------------------------------------------- */

@media (max-width: 1040px) {
  .pg-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .pg-chat { max-width: 560px; }
  .pg-price { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .pg-channels li { grid-template-columns: minmax(0, 1fr); }
  .pg-channels .pg-pill { justify-self: start; }
  .pg-msg { max-width: 94%; }
  .pg-card dl div { flex-direction: column; gap: 0; }
  .pg-card dd { text-align: left; }
}

/* <figure> по умолчанию с полями по 40px — на телефоне это боковая прокрутка. */
.pg-chat { margin: 0; }

/* Полоса призыва: две кнопки вместо одной. Контурная кнопка на тёмной
   полосе должна быть светлой, иначе она пропадает на фоне. */
.cta-band .pg-actions { justify-content: center; margin-top: 30px; }
.cta-band .pg-actions .btn { margin-top: 0; }
.cta-band .btn-secondary {
  --btn-fg: var(--bg);
  border-color: color-mix(in srgb, var(--bg) 45%, transparent);
}
.cta-band .btn-secondary:hover {
  background: color-mix(in srgb, var(--bg) 12%, transparent);
  border-color: var(--bg);
}

/* --- Кейс: цифры с источником ----------------------------------------- */

.pg-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.pg-stats li { display: grid; gap: 8px; align-content: start; padding: 22px 20px; background: var(--surface); }
.pg-stats .st-n { font-family: var(--display); font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.4rem); line-height: 1; color: var(--ink); letter-spacing: -.03em; }
.pg-stats .st-l { font-size: .875rem; color: var(--muted); }
.pg-case-honest { margin-top: 20px; max-width: 78ch; font-size: .906rem; color: var(--muted); }
