/* ==========================================================================
   Buhalter.pl. Тёплый слой: дружелюбно и с побуждением к действию.

   Подключается ВМЕСТО apple.css, не вместе с ним.

   Три решения, на которых всё держится.

   1. Зелёный вместо синего.
      Синий у всех конкурентов, он читается как «банк, официально, строго».
      Зелёный в бухгалтерии имеет собственное значение: проверено, сходится,
      всё в порядке. Бюро, чья работа буквально в том, чтобы у клиента
      было «всё в порядке», имеет право на этот цвет, и никто в нише
      его не занимает. #0E7A52 на тёплой бумаге даёт контраст 6,4:1.

   2. Тёплая бумага вместо белого.
      #FBFAF6 это оттенок бухгалтерской книги. Отличие от белого почти
      незаметно глазу, но страница перестаёт быть больничной.

   3. Медовая кнопка.
      Главное действие жёлто-оранжевое: на тёплом фоне оно зовёт, а не
      кричит, и не спорит с зелёным, потому что они рядом по температуре.
      Тёмный текст на меду даёт 7,1:1, белый по такому фону не прошёл бы.

   Шрифт остаётся свой, Nunito и Nunito Sans, скачанные локально.
   Google Fonts не подключаем: это решение по RODO, менять его нельзя.
   Nunito круглый по рисунку, он и так самый дружелюбный из доступных.
   ========================================================================== */

:root {
  --fr-bg:        #FBFAF6;
  --fr-bg-2:      #F4F1E9;
  --fr-surface:   #FFFFFF;
  --fr-ink:       #16281F;
  --fr-muted:     #5F6F66;
  --fr-line:      #E7E2D6;

  --fr-green:     #0E7A52;
  --fr-green-dk:  #0A5D3E;
  --fr-green-tt:  #E6F2EB;

  --fr-honey:     #F5A524;
  --fr-honey-hi:  #FFB53D;
  --fr-honey-tt:  #FDF0D8;
  --fr-honey-ink: #3D2A05;

  --fr-radius:    20px;
  --fr-shadow:    0 1px 2px rgba(22,40,31,.04), 0 8px 24px -12px rgba(22,40,31,.14);
  --fr-shadow-up: 0 2px 4px rgba(22,40,31,.05), 0 18px 36px -16px rgba(22,40,31,.22);
}

/* --------------------------------------------------------------------------
   Основа
   -------------------------------------------------------------------------- */

html, body { background: var(--fr-bg); color: var(--fr-ink); }
body { font-size: 17px; line-height: 1.55; }

.gb-wrap { max-width: 1140px; padding-inline: 22px; }

.gb-section { background: var(--fr-bg); padding-block: clamp(56px, 6.5vw, 100px); }
.gb-section--soft { background: var(--fr-bg-2); }
.gb-section--tight { background: var(--fr-bg); padding-block: clamp(44px, 5vw, 76px); }

/* --------------------------------------------------------------------------
   Типографика. Крупно и округло, но без стерильности.
   -------------------------------------------------------------------------- */

.gb-h1 {
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--fr-ink);
  text-wrap: balance;
}

.gb-h2 {
  font-size: clamp(29px, 3.4vw, 42px);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--fr-ink);
  text-wrap: balance;
}

.gb-h3 { font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; color: var(--fr-ink); }
.gb-h4 { font-size: 17px; font-weight: 700; }

.gb-lead { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: var(--fr-muted); font-weight: 400; }
.gb-text { font-size: 16px; line-height: 1.6; color: var(--fr-muted); }
.gb-small { font-size: 14px; line-height: 1.5; color: var(--fr-muted); }

/* Надзаголовок с зелёной точкой вместо чёрточки: живее и мягче. */
.gb-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--fr-green);
}
.gb-kicker::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--fr-honey);
  flex: none;
}
.gb-kicker::after { display: none; }

/* Выделение в заголовке: медовый мазок под словом, как маркером. */
.gb-mark { color: var(--fr-ink); position: relative; white-space: nowrap; }
.gb-mark::after {
  content: "";
  position: absolute;
  left: -.06em; right: -.06em; bottom: .04em;
  height: .34em;
  background: var(--fr-honey);
  opacity: .5;
  border-radius: .2em;
  z-index: -1;
}

/* --------------------------------------------------------------------------
   Кнопки. Главная зовёт, вторая помогает.
   -------------------------------------------------------------------------- */

.gb-btn {
  border-radius: 999px;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: -0.005em;
  padding: 14px 26px;
  border: none;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.gb-btn--lg { font-size: 17px; padding: 17px 32px; }
.gb-btn--sm { font-size: 14px; padding: 9px 18px; }

.gb-btn--primary,
.gb-bar .gb-btn--primary {
  background: var(--fr-honey);
  color: var(--fr-honey-ink);
  box-shadow: 0 2px 0 rgba(0,0,0,.05), 0 10px 22px -10px rgba(245,165,36,.7);
}
.gb-btn--primary:hover {
  background: var(--fr-honey-hi);
  transform: translateY(-2px);
  box-shadow: 0 2px 0 rgba(0,0,0,.05), 0 16px 30px -12px rgba(245,165,36,.85);
}
.gb-btn--primary svg { display: inline; }

.gb-btn--ghost {
  background: var(--fr-surface);
  border: 1.5px solid var(--fr-line);
  color: var(--fr-ink);
}
.gb-btn--ghost:hover { border-color: var(--fr-green); color: var(--fr-green-dk); transform: translateY(-2px); }
.gb-btn--ghost::after { content: none; }

.gb-tile__link, .gb-router__cta {
  color: var(--fr-green);
  font-weight: 800;
  font-size: 15px;
}
.gb-tile__link svg, .gb-router__cta svg { display: inline; }
.gb-tile__link::after, .gb-router__cta::after { content: none; }

/* --------------------------------------------------------------------------
   Карточки. Мягкая тень вместо рамки, заметный подъём на наведении:
   это и есть «побуждает», карточка ведёт себя как живая.
   -------------------------------------------------------------------------- */

.gb-card {
  background: var(--fr-surface);
  border: 1px solid var(--fr-line);
  border-radius: var(--fr-radius);
  box-shadow: var(--fr-shadow);
  padding: 28px;
}
.gb-card--hover { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.gb-card--hover:hover { transform: translateY(-4px); box-shadow: var(--fr-shadow-up); border-color: #D7E5DC; }
.gb-card--amber { background: var(--fr-honey-tt); border-color: #F2DFB4; }

.gb-ico {
  background: var(--fr-green-tt);
  color: var(--fr-green);
  width: 44px; height: 44px;
  border-radius: 14px;
}
.gb-ico svg { width: 22px; height: 22px; }
.gb-ico--amber { background: var(--fr-honey-tt); color: #8A5B06; }
.gb-ico--green { background: var(--fr-green-tt); color: var(--fr-green); }

.gb-pill { background: var(--fr-green-tt); color: var(--fr-green-dk); border: none; border-radius: 999px; font-weight: 700; font-size: 13px; }
.gb-pill--amber { background: var(--fr-honey-tt); color: #8A5B06; }

/* --------------------------------------------------------------------------
   Первый экран: слева текст, справа человек. Так теплее, чем по центру.
   -------------------------------------------------------------------------- */

.gb-hero { background: var(--fr-bg); padding-block: clamp(40px, 5vw, 72px); text-align: left; }
.gb-hero::before, .gb-hero::after { display: none !important; }

.gb-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  max-width: none;
}
.gb-hero__left { align-items: flex-start; }
.gb-hero__lead { max-width: 54ch; margin-inline: 0; }
.gb-btns { justify-content: flex-start; gap: 14px; }

.gb-hero__badge {
  background: var(--fr-surface);
  border: 1px solid var(--fr-line);
  border-radius: 999px;
  color: var(--fr-muted);
  font-size: 14px;
  font-weight: 600;
  padding: 8px 16px;
  box-shadow: var(--fr-shadow);
}

.gb-hero__group { color: var(--fr-green-dk); font-weight: 700; font-size: 14px; margin: 14px 0 10px; }

/* Фото лежит в абсолютном .gb-hero__mesh внутри .gb-hero__art.
   Размеры картинки не трогаем, иначе рассыпается: только оправа. */
.gb-hero__mesh {
  border-radius: 26px;
  border: 1px solid var(--fr-line);
  box-shadow: var(--fr-shadow-up);
}

/* Плавающие карточки возвращаем: это самая тёплая деталь первого экрана.
   Apple-слой их убирал, здесь они наоборот работают. */
.gb-float {
  background: var(--fr-surface);
  border: 1px solid var(--fr-line);
  border-radius: 18px;
  box-shadow: var(--fr-shadow-up);
}
.gb-float__t { font-weight: 800; color: var(--fr-ink); }
.gb-float__s { color: var(--fr-muted); }
.gb-float__big { font-weight: 800; color: var(--fr-ink); font-size: 19px; }
.gb-float .gb-ico, .gb-float .gb-ico--sm {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: var(--fr-green-tt);
  color: var(--fr-green);
}
.gb-float .gb-ico svg, .gb-float .gb-ico--sm svg { width: 19px; height: 19px; }
.gb-dot { background: var(--fr-green); }

/* Плашки под кнопками дублировали бы эти карточки, поэтому прячем. */
.gb-hero__chips { display: none; }

.gb-proof { border: none; background: none; box-shadow: none; justify-content: flex-start; gap: 36px; padding-top: 28px; }
.gb-proof__cell { border: none; padding-inline: 0; }
.gb-proof__cell + .gb-proof__cell { border-left: 1px solid var(--fr-line); padding-left: 36px; }
.gb-proof__block { text-align: left; align-items: flex-start; }
.gb-proof__num { font-size: 34px; font-weight: 800; letter-spacing: -0.02em; color: var(--fr-ink); }
.gb-proof__cap { color: var(--fr-muted); font-size: 13px; max-width: 20ch; }
.gb-proof__faces { justify-content: flex-start; }

.gb-marquee { display: block !important; background: var(--fr-bg-2); color: #B9C6BE; }

/* --------------------------------------------------------------------------
   Заголовки секций: слева, как разговор, а не как афиша.
   -------------------------------------------------------------------------- */

.gb-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(20px, 3vw, 48px);
  align-items: end;
  text-align: left;
  max-width: none;
  margin-bottom: 40px;
}
.gb-head__left { text-align: left; align-items: flex-start; }
.gb-head__side { margin-top: 0; max-width: none; margin-inline: 0; }

/* --------------------------------------------------------------------------
   Развилка: карточки-приглашения с медовым номером
   -------------------------------------------------------------------------- */

.gb-router__card { padding: 28px; }
.gb-router__num {
  background: var(--fr-honey-tt);
  color: #8A5B06;
  width: 34px; height: 34px;
  border-radius: 12px;
  font-weight: 800;
  justify-content: center;
}
.gb-router__card--amber { background: var(--fr-honey-tt); border-color: #F2DFB4; }
.gb-router__card--amber .gb-router__num { background: var(--fr-honey); color: var(--fr-honey-ink); }

/* --------------------------------------------------------------------------
   Отрасли, регламент, проверка
   -------------------------------------------------------------------------- */

.gb-segments__geo {
  border: 1px solid var(--fr-line);
  border-radius: var(--fr-radius);
  background: var(--fr-green-tt);
  color: var(--fr-green-dk);
  text-align: left;
  font-weight: 600;
}

.gb-reg__item { border: 1px solid var(--fr-line); background: var(--fr-surface); border-radius: var(--fr-radius); box-shadow: var(--fr-shadow); }
.gb-reg__when {
  background: var(--fr-honey-tt);
  border: 1px solid #F2DFB4;
  color: #8A5B06;
  font-weight: 800;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
}

.gb-diag { background: var(--fr-green-tt); }
.gb-diag .gb-card { background: var(--fr-surface); }
.gb-diag__geo, .gb-diag__note { color: var(--fr-muted); }

/* --------------------------------------------------------------------------
   Прочие блоки
   -------------------------------------------------------------------------- */

.gb-pain__item, .gb-guarantee__item, .gb-step, .gb-review, .gb-news__item {
  background: var(--fr-surface);
  border: 1px solid var(--fr-line);
  border-radius: var(--fr-radius);
  box-shadow: var(--fr-shadow);
}
.gb-pain__quote { font-size: 18px; font-weight: 700; color: var(--fr-ink); line-height: 1.32; }
.gb-pain__answer { color: var(--fr-muted); font-size: 15px; margin-top: 8px; }

.gb-step__num { background: var(--fr-honey); color: var(--fr-honey-ink); font-weight: 800; border-radius: 12px; }
.gb-guarantee__item:first-child { background: var(--fr-green-tt); border-color: #CBE3D6; }
.gb-guarantee__t { font-size: 18px; font-weight: 700; }

.gb-faq__item { border: 1px solid var(--fr-line); border-radius: 16px; background: var(--fr-surface); box-shadow: var(--fr-shadow); margin-bottom: 10px; }
.gb-faq__item summary { font-size: 17px; font-weight: 700; }
.gb-faq__item[open] { border-color: #CBE3D6; }

.gb-compare th { background: var(--fr-bg-2); font-weight: 800; }
.gb-compare td { border-color: var(--fr-line); }
.gb-compare td.gb-compare__win { background: var(--fr-green-tt); color: var(--fr-green-dk); font-weight: 700; }

.gb-calc__card, .gb-calc__box, .gb-cta__box {
  background: var(--fr-surface);
  border: 1px solid var(--fr-line);
  border-radius: 26px;
  box-shadow: var(--fr-shadow-up);
}
.gb-calc__bg, .gb-cta__bg { display: none !important; }
.gb-calc__total, .gb-calc__sum { color: var(--fr-ink); font-weight: 800; }
.gb-calc__save { color: var(--fr-green); font-weight: 700; }

.gb-field input, .gb-field select, .gb-field textarea, .gb-toggle {
  border-radius: 14px;
  border: 1.5px solid var(--fr-line);
  font-size: 16px;
  background: var(--fr-surface);
}
.gb-field input:focus, .gb-field select:focus, .gb-field textarea:focus {
  border-color: var(--fr-green);
  outline: 3px solid var(--fr-green-tt);
  outline-offset: 0;
}

.gb-about__frame, .gb-about__photo { border-radius: 26px; box-shadow: var(--fr-shadow-up); border: none; }
.gb-about__item { background: var(--fr-surface); border: 1px solid var(--fr-line); border-radius: 16px; box-shadow: var(--fr-shadow); }

/* --------------------------------------------------------------------------
   Шапка, подвал, липкая панель
   -------------------------------------------------------------------------- */

.gb-header {
  background: rgba(251,250,246,.86);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  backdrop-filter: saturate(160%) blur(16px);
  border-bottom: 1px solid var(--fr-line);
}
.gb-nav { gap: 24px; }
.gb-nav a { font-size: 15px; font-weight: 600; color: var(--fr-ink); white-space: nowrap; }
.gb-nav a:hover { color: var(--fr-green); }
.gb-header .gb-btn, .gb-header .gb-btn--primary { font-size: 14px; padding: 10px 18px; }

.gb-footer { background: var(--fr-ink); color: #B4C4BB; }
.gb-footer a, .gb-footer__title { color: #fff; }
.gb-footer a:hover { color: var(--fr-honey); }

.gb-bar {
  background: rgba(251,250,246,.94);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--fr-line);
}

/* --------------------------------------------------------------------------
   Тёмная тема: тёплая, а не чёрная
   -------------------------------------------------------------------------- */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --fr-bg:       #121A16;
    --fr-bg-2:     #182220;
    --fr-surface:  #1B2621;
    --fr-ink:      #EDF2EE;
    --fr-muted:    #9DB0A6;
    --fr-line:     #2A3832;
    --fr-green:    #45C08B;
    --fr-green-dk: #6FD3A7;
    --fr-green-tt: #17302A;
    --fr-honey-tt: #2E2413;
    color-scheme: dark;
  }
  :root:not([data-theme="light"]) .gb-header { background: rgba(18,26,22,.86); }
  :root:not([data-theme="light"]) .gb-bar { background: rgba(18,26,22,.94); }
  :root:not([data-theme="light"]) .gb-footer { background: #0D1411; }
  :root:not([data-theme="light"]) .gb-diag { background: var(--fr-bg-2); }
}

/* --------------------------------------------------------------------------
   Узкие экраны
   -------------------------------------------------------------------------- */

@media (max-width: 960px) {
  .gb-hero__grid { grid-template-columns: 1fr; }
  .gb-head { grid-template-columns: 1fr; align-items: start; }
  .gb-art--photo img, .gb-hero__art img { aspect-ratio: 16 / 10; }
}

@media (max-width: 620px) {
  .gb-proof { flex-direction: column; gap: 18px; }
  .gb-proof__cell + .gb-proof__cell { border-left: none; border-top: 1px solid var(--fr-line); padding-left: 0; padding-top: 18px; }
  .gb-card { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .gb-card--hover:hover, .gb-btn--primary:hover, .gb-btn--ghost:hover { transform: none; }
}

/* Плавающие карточки в базовой теме вынесены за края колонки
   (left: -30px, right: -26px). На тёплой сетке правая уезжала под обрез,
   поэтому обе заводим внутрь. */
.gb-float--1 { left: 14px; top: 56px; }
.gb-float--2 { right: 14px; top: 86px; }
.gb-float--3 { left: 18px; bottom: 18px; }

@media (max-width: 1180px) {
  .gb-float--1 { left: 10px; }
  .gb-float--2 { right: 10px; }
}

@media (max-width: 720px) {
  .gb-float--2 { display: none; }
}

/* Синяя цифра в плитке услуг осталась от прежней палитры. */
.gb-bento__stat-val { color: var(--fr-green); font-weight: 800; }
.gb-bento__stat-cap { color: var(--fr-muted); }

/* ==========================================================================
   Компактность

   Страница была 14 310 px при ширине 1440, это шестнадцать экранов.
   Человек до нижней трети просто не доходит, а там калькулятор и форма.
   Режем воздух, но не плотность текста: строки и межстрочные не трогаем,
   иначе читать станет тяжелее, а это дороже сэкономленных пикселей.
   ========================================================================== */

.gb-section  { padding-block: clamp(36px, 3.8vw, 62px); }
.gb-section--tight { padding-block: clamp(30px, 3vw, 48px); }
.gb-hero { padding-block: clamp(28px, 3vw, 48px); }

.gb-head { margin-bottom: 26px; gap: clamp(16px, 2.4vw, 36px); }

.gb-card { padding: 22px; }
.gb-router__card { padding: 24px 22px; }
.gb-pain__item { padding: 22px 24px; }
.gb-reg__item { padding: 18px 22px; }
.gb-diag__foot { margin-top: 26px; }

/* Сетки: воздуха между карточками достаточно и при 12px. */
.gb-router, .gb-segments, .gb-diag__grid, .gb-bento, .gb-pain__grid,
.gb-guarantee, .gb-steps, .gb-reviews { gap: 12px; }
.gb-reg { gap: 10px; }

/* Первый экран: фото было 560 px в высоту просто по минимуму. */
.gb-hero__art { min-height: 460px; }
.gb-proof { padding-top: 20px; gap: 28px; }
.gb-proof__cell + .gb-proof__cell { padding-left: 28px; }

/* Заголовки на шаг меньше: на 1440 они читались как афиша. */
.gb-h1 { font-size: clamp(34px, 4.2vw, 56px); }
.gb-h2 { font-size: clamp(26px, 2.9vw, 36px); }
.gb-h3 { font-size: 19px; }

.gb-marquee { padding-block: 14px; }
.gb-faq__item { margin-bottom: 8px; }

/* Текст на страницах услуг набирается обычными <p> и <li>, без классов темы,
   поэтому он брал цвет из базовой палитры и оставался сине-серым. */
.wp-block-post-content p,
.wp-block-post-content li,
.entry-content p,
.entry-content li { color: var(--fr-muted); font-size: 17px; line-height: 1.6; }
.wp-block-post-content h2,
.entry-content h2 { color: var(--fr-ink); font-weight: 800; letter-spacing: -0.015em; }
.wp-block-post-content strong,
.entry-content strong { color: var(--fr-ink); }

/* Калькулятор: переключатели, ползунок и итог ещё держали старый синий. */
.gb-toggle button, .gb-toggle label, .gb-toggle .is-active, .gb-toggle [aria-pressed="true"] { color: var(--fr-ink); }
.gb-toggle .is-active, .gb-toggle [aria-pressed="true"], .gb-toggle input:checked + span { background: var(--fr-surface); color: var(--fr-green-dk); box-shadow: var(--fr-shadow); }
.gb-range__value { color: var(--fr-green-dk); font-weight: 800; }
.gb-range input[type="range"] { accent-color: var(--fr-green); }
.gb-range input[type="range"]::-webkit-slider-thumb { background: var(--fr-green); border-color: var(--fr-surface); }
.gb-range input[type="range"]::-moz-range-thumb { background: var(--fr-green); }
.gb-calc__total, .gb-calc__sum { color: var(--fr-ink); }
.gb-calc__save { color: var(--fr-green-dk); }
.gb-field__label { color: var(--fr-muted); }
.gb-toggle { background: var(--fr-bg-2); }
.gb-toggle button { color: var(--fr-muted); }
.gb-toggle button:hover { color: var(--fr-green-dk); }
.gb-toggle button[aria-pressed="true"] { background: var(--fr-surface); color: var(--fr-green-dk); box-shadow: var(--fr-shadow); }
.gb-toggle button:focus-visible { outline: 3px solid var(--fr-green); }
.gb-range::-webkit-slider-runnable-track, .gb-range::-moz-range-track { background: var(--fr-green-tt); }
.gb-range::-webkit-slider-thumb { background: var(--fr-green); border: 3px solid var(--fr-surface); }
.gb-range::-moz-range-thumb { background: var(--fr-green); border: 3px solid var(--fr-surface); }

/* Фото в блоке проверки: широкий кадр между карточками и кнопкой. */
.gb-diag__photo { margin: 22px 0 0; border-radius: var(--fr-radius); overflow: hidden; box-shadow: var(--fr-shadow-up); }
.gb-diag__photo img { display: block; width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
@media (max-width: 620px) { .gb-diag__photo img { aspect-ratio: 16 / 10; } }

/* Блок проверки: три колонки на широких экранах, кадр с калькулятором, а не с крышкой ноутбука. */
.gb-diag__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gb-diag__photo img { object-position: center 88%; }
@media (max-width: 860px) { .gb-diag__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Регистрация JDG и spółki: два больших предложения сразу под первым экраном.
   Цена набрана крупно, потому что «0 zł» и есть главный аргумент блока.
   ========================================================================== */

.gb-reg2__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.gb-reg2__card { display: flex; flex-direction: column; gap: 16px; padding: 28px; }
.gb-reg2__card--free { background: var(--fr-green-tt); border-color: #CBE3D6; }

.gb-reg2__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.gb-reg2__name { font-size: 28px; line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: var(--fr-ink); margin: 0 0 4px; }

.gb-reg2__price { text-align: right; display: flex; flex-direction: column; align-items: flex-end; max-width: 46%; }
.gb-reg2__sum { font-size: 40px; line-height: 1; font-weight: 800; letter-spacing: -0.03em; color: var(--fr-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gb-reg2__card--free .gb-reg2__sum { color: var(--fr-green-dk); }

.gb-reg2__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.gb-reg2__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.45; color: var(--fr-ink); }
.gb-reg2__list svg { width: 18px; height: 18px; flex: none; margin-top: 3px; color: var(--fr-green); }

.gb-reg2__alt { font-size: 14px; color: var(--fr-muted); margin: 0; padding-top: 12px; border-top: 1px dashed var(--fr-line); }
.gb-reg2__card .gb-btn { align-self: flex-start; margin-top: auto; }

/* ==========================================================================
   Документы и формальности
   ========================================================================== */

.gb-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

.gb-docs__foot {
  margin-top: 18px;
  padding: 20px 24px;
  border-radius: var(--fr-radius);
  background: var(--fr-surface);
  border: 1px solid var(--fr-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.gb-docs__note { margin: 0; font-size: 14px; line-height: 1.55; color: var(--fr-muted); max-width: 70ch; }
.gb-docs__foot .gb-btn { flex: none; }

@media (max-width: 900px) {
  .gb-reg2__grid { grid-template-columns: 1fr; }
  .gb-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gb-docs__foot { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
  .gb-docs { grid-template-columns: 1fr; }
  .gb-reg2__top { flex-direction: column; }
  .gb-reg2__price { text-align: left; align-items: flex-start; max-width: none; }
}

/* Плашка «входит в открытие» в карточке регистрации. */
.gb-reg2__incl {
  margin: 0;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--fr-surface);
  border: 1px solid #CBE3D6;
  color: var(--fr-green-dk);
  font-size: 14px;
  font-weight: 700;
}

/* ==========================================================================
   Конверсия
   ========================================================================== */

/* Предложение над сгибом: цена видна до первой прокрутки. */
.gb-hero__offer {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 10px 16px 10px 14px;
  border-radius: 999px;
  background: var(--fr-green-tt);
  border: 1px solid #CBE3D6;
  color: var(--fr-green-dk);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}
.gb-hero__offer:hover { transform: translateY(-2px); box-shadow: var(--fr-shadow); }
.gb-hero__offer svg { width: 16px; height: 16px; }
.gb-hero__offer-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--fr-green); flex: none; }

/* Полоса KSeF: настоящая дата из закона, поэтому спокойная, без красного. */
.gb-ksef { background: var(--fr-honey-tt); border-block: 1px solid #F2DFB4; }
.gb-ksef__in { display: flex; align-items: center; gap: 16px; padding-block: 14px; }
.gb-ksef__tag {
  flex: none;
  padding: 4px 10px;
  border-radius: 8px;
  background: var(--fr-honey);
  color: var(--fr-honey-ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
}
.gb-ksef__text { margin: 0; flex: 1 1 auto; font-size: 15px; line-height: 1.45; color: var(--fr-ink); }
.gb-ksef__link {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 800;
  color: var(--fr-green-dk);
  text-decoration: none;
  white-space: nowrap;
}
.gb-ksef__link svg { width: 16px; height: 16px; }
.gb-ksef__link:hover { text-decoration: underline; }

/* Липкая панель на телефоне: главная кнопка это WhatsApp. */
.gb-bar .gb-btn--primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.gb-bar .gb-btn--primary svg { width: 18px; height: 18px; display: inline; }
.gb-bar .gb-bar__icon svg { width: 20px; height: 20px; color: var(--fr-ink); }

@media (max-width: 720px) {
  .gb-ksef__in { flex-wrap: wrap; gap: 10px; }
  .gb-ksef__text { flex-basis: 100%; order: 2; }
  .gb-ksef__link { order: 3; }
}
