/* Вход читателя, форма и баннеры (см. forma.js). Цвета страницы задаются переменными на .lb-form. */
.lb-form { width: 100%; box-sizing: border-box; }
.lb-form--loading { min-height: 140px; }
.lb-form iframe { max-width: 100%; }
.lb-form--done { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; padding: 8px 0; }
.lb-form--done .lb-text { max-width: 640px; margin: 0; }
.lb-btn {
  display: block; box-sizing: border-box; width: 100%; max-width: 360px; margin: 0 auto; padding: 14px 24px;
  border-radius: var(--lb-radius, 22px); background: var(--lb-bg, #ffff00); color: var(--lb-fg, #000) !important;
  font: 500 15px/1.3 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; text-align: center; text-decoration: none !important;
  transition: opacity .15s;
}
.lb-btn:hover { opacity: .85; }

/* «Нет Telegram? Пришлём на почту» под кнопкой бота */
.lb-mail {
  display: inline-block; padding: 12px 10px; margin: -8px 0 -12px; color: inherit !important; opacity: .85;
  font: 400 15px/1.4 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; text-decoration: underline !important; text-underline-offset: 3px;
}
.lb-mail:hover { opacity: 1; }

/* баннеры «Что ещё есть у Павла Лебедева» — вместо блока «Бесплатная консультация» */
.lb-banners { display: block; width: 100%; box-sizing: border-box; background: #f4f5f7; color: #14181c; }
.lb-banners:empty { display: none; }
.lb-ban-wrap { box-sizing: border-box; max-width: 1080px; margin: 0 auto; padding: 32px 16px 36px; font-family: Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; }
.lb-ban-title { margin: 0 0 18px; font: 700 22px/1.25 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; color: #14181c; text-align: left; }
.lb-ban-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 14px; }
.lb-ban-card {
  display: flex; align-items: center; gap: 14px; box-sizing: border-box; padding: 12px; border-radius: 18px; background: #fff;
  box-shadow: 0 1px 3px rgba(20, 24, 28, .08), 0 6px 18px rgba(20, 24, 28, .05); color: #14181c !important; text-decoration: none !important;
  transition: box-shadow .15s, transform .15s;
}
.lb-ban-card:hover { box-shadow: 0 2px 6px rgba(20, 24, 28, .12), 0 10px 24px rgba(20, 24, 28, .08); transform: translateY(-1px); }
.lb-ban-img { flex: none; display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; border-radius: 10px; background: #f3f4f6; overflow: hidden; }
.lb-ban-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.lb-ban-body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; text-align: left; }
.lb-ban-badge { padding: 3px 9px; border-radius: 999px; background: #ffe500; color: #14181c; font: 700 11px/1.3 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.lb-ban-name { font: 700 16px/1.25 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; }
.lb-ban-desc { font: 400 13.5px/1.4 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; color: #586471; }
.lb-ban-cta { margin-top: 2px; font: 600 14px/1.3 Roboto, 'Roboto-Ruble', Helvetica, Arial, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 720px) { .lb-ban-img { width: 132px; height: 132px; } .lb-ban-wrap { padding: 44px 24px 52px; } .lb-ban-title { font-size: 28px; margin-bottom: 22px; } }
