/* 1113 (v2) · 1125 (AN v2) · 1134 (AN v3): быстрые заявки — точки входа, <dialog> с мини-формами.
   1134 (владелец, 8089: «цвета остались у кнопок разные — так и остались»): в блоке «Остались вопросы?» и в подвале обе кнопки —
   primary одного вида (.gt-lead-entry--pair: одинаковая ширина по большей — inline-grid с колонками 1fr; ≤ 767 — во всю ширину,
   одна под другой, зазор 14 px как у полей форм); ссылка-стрелка (tertiary) остаётся только в шапке; фото блока — семья.
   Роли кнопок и поля — токены дизайн-системы 1078/1090/1096 (colors.css, components.css, final-polish.css);
   свои цвета не вводятся. Отдаётся напрямую, dist не пересобирается.
   v2 (замечания ревьюера root): фиксированной панели на телефоне нет; в шапке пара стоит вместо «Связаться»;
   primary мини-форм и крестик закрытия — явно по дизайн-системе (правила блока application-form .form button /
   .form input сюда не должны просачиваться); фокус поля — нейтральный.
   1125 (владелец, 8089: «так и остались разных цветов кнопки»; «Остались вопросы?» — «сделай туда фотку»):
   в подвале пара стоит вместо tel:-кнопки «Позвонить», поэтому «Позвоните мне» — primary и там; геометрия primary одна
   на всех точках входа и задана здесь явно (не все страницы с блоком несут body.gtyres-marketing, чей final-polish даёт
   52/8/14); блок «Остались вопросы?» — две колонки с фотографией (банк 1126). */

/* ---------- точки входа ---------- */
.gt-lead-entry { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
/* primary пары — как у кнопок шапки и форм (final-polish: 52 px, радиус 8, 14/600, отступы 14/22; --gt-red → --gt-red-deep);
   на ≤ 767 — 50 px (высота кнопок телефона: --field-height layout-d1, панель 1027/1118). Цвета — токены, свои не вводятся */
.gt-lead-entry .gtyres-button-primary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 14px 22px; border: 1px solid transparent; border-radius: 8px; background: var(--gt-red, #dc0100); color: var(--gt-white, #fff); font: 600 14px/1.4 var(--font-body, Montserrat, Arial, sans-serif); letter-spacing: normal; text-transform: none; text-decoration: none; white-space: nowrap; transition: background-color 180ms, color 180ms, border-color 180ms; }
.gt-lead-entry .gtyres-button-primary:hover, .gt-lead-entry .gtyres-button-primary:visited:hover { background: var(--gt-red-deep, #b10000); color: var(--gt-white, #fff); }
.gt-lead-entry .gtyres-button-primary:visited { color: var(--gt-white, #fff); }
.gt-lead-entry .gtyres-button-primary:focus-visible { outline: 2px solid var(--gt-red); outline-offset: 4px; }
@media (max-width: 767px) {
  .gt-lead-entry .gtyres-button-primary { min-height: 50px; padding: 12px 20px; }
}
/* tertiary «Задать вопрос →» — только в шапке (1134: в паре подвала и блока обе кнопки primary) */
.gt-lead-entry--header .gt-lead-open--question { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; text-decoration: none; }
.gt-lead-entry--header .gt-lead-open--question:hover { color: var(--link-accent-hover, var(--gt-red)); }
.gt-lead-entry--header .gt-lead-open--question span { color: var(--gt-red); }
/* 1134: пара равных primary — сетка из двух колонок 1fr: обе кнопки шириной по большей, ряд не шире содержимого */
.gt-lead-entry--pair { display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 12px; max-width: 100%; }
.gt-lead-entry--pair .gtyres-button-primary { width: 100%; min-width: 0; }
@media (max-width: 767px) {
  .gt-lead-entry--pair { display: grid; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 14px; }
}

/* шапка: справа от навигации, там, где стояла «Связаться» (она показывалась с 1200); ссылка «Задать вопрос» — с 1280 */
.gt-lead-entry--header { display: none; flex-wrap: nowrap; gap: 12px 16px; white-space: nowrap; }
@media (min-width: 1200px) {
  .gt-lead-entry--header { display: flex; }
  .gt-lead-entry--header .gtyres-button, .gt-lead-entry--header .gtyres-button-primary { min-height: 47px; padding: 12px 18px; font-size: 14px; }
  .gt-lead-entry--header .gt-lead-open--question { display: none; font-size: 13px; }
}
@media (min-width: 1280px) {
  .gt-lead-entry--header .gt-lead-open--question { display: inline-flex; }
}

/* подвал (1125 → 1134): пара стоит на месте tel:-кнопки «Позвонить» в первой колонке (графит) — две одинаковые primary
   «Позвоните мне» и «Задать вопрос» одна под другой, одной ширины (по большей), по центру колонки; тот же --gt-red, что в блоке
   (без «hot»-оттенка — решение владельца). Кольцо фокуса на #191919 — светло-красное #ff817a (контраст 7.26; у --gt-red было бы
   2.3 — заметка 655 в footer-contacts.css); 1134 по передаче от 1131 и правилу владельца «один красный» — кольцо --gt-red */
.site-footer .gt-lead-entry--footer { grid-column: 1 / -1; display: grid; grid-auto-flow: row; grid-template-columns: minmax(0, max-content); justify-content: center; margin-top: 0; gap: 10px; }
.site-footer .gt-lead-entry--footer .gtyres-button-primary { width: 100%; max-width: 100%; }
/* #secondary — обёртка виджетов подвала: правило бандла .gtyres-marketing #secondary a:focus-visible (home-refinement.css, #ff817a, специфичность 1,2,1)
   перебивало кольцо без id (приёмка 1134 v1: кольцо второй кнопки бледно-коралловое) — селектор с id (1,4,0) */
.site-footer #secondary .gt-lead-entry--footer .gtyres-button-primary:focus-visible,
.site-footer .gt-lead-entry--footer .gtyres-button-primary:focus-visible { outline: 2px solid var(--gt-red); outline-offset: 3px; } /* по передаче от 1131: «один красный» — было #ff817a */
@media (max-width: 767px) {
  /* колонка Kadence (.kt-inside-inner-col) — grid с центрированием: без width/justify-self пара сжимается по содержимому (157 px; передача 1131) */
  .site-footer .gt-lead-entry--footer { grid-template-columns: minmax(0, 1fr); width: 100%; justify-self: stretch; gap: 14px; }
}
.site-footer .gtyres-footer-primary--added .gt-lead-entry--footer,
.site-footer :not(.gtyres-footer-primary) > .gt-lead-entry--footer { grid-column: 1 / -1; }

/* ---------- блок в конце ключевых страниц ---------- */
/* 1125: секция по ролям 1078 (кикер, H2, подводка, пара действий) в две колонки ≥ 1024 — текст слева, фотография справа
   (компоновка — образец Mailchimp «Still have questions?», Mobbin; пропорции колонок и радиус кадра — как у блока
   основателей brand-sections.css: 1.15fr/.85fr, 6 px). На телефоне фото сверху, текст под ним. 1134: кадр — Софья и Владимир
   у офиса (founders-*), лица в верхней трети — object-position без изменений. Кадр 16:9 на ≥ 768
   (704 px во всю ширину на 768; в колонке ≥ 1024 кадрируется до 3:2 object-fit) и 4:5 на ≤ 767 (<picture>, размеры в атрибутах —
   CLS 0, соотношение через aspect-ratio + object-fit). Без <figure> (нет файлов) — одна колонка */
.gt-lead-closing { background: var(--gt-paper); border-top: 1px solid var(--line, var(--gt-cloud)); }
.gt-lead-closing__inner { width: min(calc(100% - 64px), var(--content-max, 1200px)); margin: 0 auto; padding: clamp(56px, 7vw, 88px) 0; }
.gt-lead-closing--photo .gt-lead-closing__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
.gt-lead-closing__figure { margin: 0; min-width: 0; }
.gt-lead-closing__figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 35%; border-radius: 6px; background: var(--gt-cloud, #e6e7e3); }
@media (min-width: 1024px) {
  .gt-lead-closing--photo .gt-lead-closing__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(40px, 5vw, 72px); }
  /* в правой колонке кадр 16:9 давал 479×270 при колонке текста ≈ 330 px — кадрируем до 3:2 (479×319); 1134: оба лица и вывеска в кадре при 50 % */
  .gt-lead-closing__figure img { aspect-ratio: 3 / 2; object-position: 50% 40%; }
}
@media (max-width: 1023px) {
  .gt-lead-closing--photo .gt-lead-closing__figure { order: -1; }
}
.gt-lead-closing h2 { margin: 12px 0 14px; max-width: 18ch; }
.gt-lead-closing__lead { max-width: 60ch; margin: 0 0 28px; color: var(--gt-iron); font-size: 17px; line-height: 1.6; }
.gt-lead-closing__lead a { color: var(--gt-black); font-weight: 600; text-decoration: none; white-space: nowrap; }
.gt-lead-closing__lead a:hover { color: var(--gt-red); }
/* в блоке (1134): две равные primary в ряд, «Позвоните мне» первой */
.gt-lead-entry--closing { gap: 14px; }
@media (max-width: 767px) {
  .gt-lead-closing__inner { width: calc(100% - 40px); }
  .gt-lead-closing--photo .gt-lead-closing__inner { gap: 24px; }
  .gt-lead-closing__figure img { aspect-ratio: 4 / 5; }
  .gt-lead-closing__lead { font-size: 15px; }
}

/* ---------- модальное окно ---------- */
.gt-lead-dialog { position: fixed; inset: 0; z-index: var(--z-overlay, 200); width: min(100% - 32px, 520px); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: var(--radius-lg, 16px); background: var(--gt-white); color: var(--gt-black); box-shadow: var(--shadow-float, 0 24px 64px rgba(0, 0, 0, .45)); overflow: auto; overscroll-behavior: contain; }
.gt-lead-dialog:not([open]) { display: none; }
.gt-lead-dialog::backdrop { background: var(--gt-scrim, rgba(18, 19, 19, .6)); }
.gt-lead-dialog__card { position: relative; padding: 32px; }
/* крестик: зона 44×44, глиф ≈16,5 px (18 из 24 единиц в боксе 22 px) линией темы --gt-line-weight, штрих не масштабируется
   (v2 давал 8 px и 1,3 px: путь 12 единиц в боксе 16 и масштабированный stroke); цвет — как у текста */
.gt-lead-dialog .gt-lead-dialog__close { position: absolute; inset: 10px 10px auto auto; display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--gt-black); cursor: pointer; }
.gt-lead-dialog .gt-lead-dialog__close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: var(--gt-line-weight, 2px); stroke-linecap: round; }
.gt-lead-dialog .gt-lead-dialog__close svg path { vector-effect: non-scaling-stroke; }
.gt-lead-dialog .gt-lead-dialog__close:hover { background: var(--gt-paper); color: var(--gt-black); }
.gt-lead-dialog .gt-lead-dialog__close:focus-visible { outline: 2px solid var(--gt-black); outline-offset: 2px; }
.gt-lead-dialog__head { padding-right: 40px; margin-bottom: 20px; }
.gt-lead-dialog__head h3, .gt-lead-dialog__done h3 { margin: 8px 0 8px; font-size: var(--h3-size, 22px); line-height: var(--h3-leading, 1.3); font-weight: var(--h3-weight, 600); }
.gt-lead-dialog__lead { margin: 0; color: var(--gt-iron); font-size: 15px; line-height: 1.55; }

/* форма: класс .form нужен событию gtyres:lead-success (mu-plugin слушает form.form); правила темы для .form
   (сцены/детали: ширина, сетки, порядок) здесь сбрасываются. Отступы согласия и кнопки — ниже, с той же специфичностью */
.gt-lead-dialog .gt-lead-form { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
.gt-lead-dialog .gt-lead-form[hidden], .gt-lead-dialog [hidden] { display: none !important; }
.gt-lead-dialog .gt-lead-form :is(.gt-lead-form__fields, .gt-lead-form__field, .form-button, .checkbox-wrapper) { width: 100%; max-width: none; min-width: 0; margin: 0; }

/* поля — как у форм 1090: высота --field-height, линия --line, радиус --radius-sm; фокус нейтральный (не красный, чтобы
   автофокус при открытии не читался как ошибка); ошибка — красная рамка + текст */
.gt-lead-form__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.gt-lead-form__field label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; color: var(--gt-black); }
.gt-lead-form__optional { margin-left: 6px; color: var(--caption, var(--gt-iron)); font-weight: 400; }
.gt-lead-form__field :is(input, textarea) { box-sizing: border-box; width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--line, var(--gt-cloud)); border-radius: var(--radius-sm, 4px); background: var(--field-bg, #fff); color: var(--gt-black); font: 400 var(--field-text, 16px)/1.4 var(--font-body); }
.gt-lead-form__field input { height: var(--field-height, 52px); min-height: var(--field-height, 52px); }
.gt-lead-form__field textarea { min-height: 112px; resize: vertical; }
.gt-lead-form__field :is(input, textarea):focus, .gt-lead-form__captcha input:focus { border-color: var(--gt-black); outline: 2px solid var(--gt-black); outline-offset: 2px; }
.gt-lead-form__field.is-invalid :is(input, textarea), .gt-lead-form__captcha.is-invalid input { border-color: var(--gt-red); }
.gt-lead-form .form-error { margin-top: 6px; color: var(--gt-red-dark, #9a0100); font-size: 12px; line-height: 1.4; }
.gt-lead-form .form-error:empty { display: none; }

/* арифметика — та же строка, что в модальной заявке (#51, layout-d1.css): подпись-caption псевдоэлементом, пример 16/600, поле 156 px */
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha { margin: 14px 0 0; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha .captcha-block-wrapp { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha .captcha-question { flex: 0 0 auto; margin: 0; color: var(--gt-black); font: 600 16px/1.3 var(--font-body); white-space: nowrap; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha .captcha-question::before { content: 'Проверка: сколько будет'; display: block; margin: 0 0 2px; color: var(--caption, var(--gt-iron)); font: 400 var(--text-micro, 12px)/1.4 var(--font-body); }
html:lang(en) .gt-lead-dialog .gt-lead-form .gt-lead-form__captcha .captcha-question::before { content: 'Check: what is'; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha .captcha-question::after { content: ' = ?'; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha input { flex: 0 0 156px; width: 156px; min-width: 0; height: var(--field-height, 52px); min-height: var(--field-height, 52px); margin: 0; padding: 0 14px; border: 1px solid var(--line, var(--gt-cloud)); border-radius: var(--radius-sm, 4px); background: var(--field-bg, #fff); font: 400 var(--field-text, 16px)/1.4 var(--font-body); align-self: flex-end; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__captcha .form-error { margin: 6px 0 0; }

/* согласие — как у существующей формы (owner-ui.css 1090: сетка 20px + текст 11px, отступы 18px сверху / 24px снизу);
   текст ошибки — на всю ширину, по левому краю поля */
/* 1134 по передаче от 1131: чекбокс 24 px (п. 20 аудита 1128, цель ≥ 24) */
.gt-lead-dialog .gt-lead-form .gt-lead-form__consent { display: grid; grid-template-columns: 24px 1fr; gap: 0 10px; align-items: start; margin: 18px 0 24px; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__consent input { width: 24px; height: 24px; min-width: 24px; min-height: 24px; margin: 0; padding: 0; border-radius: 0; accent-color: var(--gt-red); cursor: pointer; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__consent label { margin: 0; color: var(--gt-iron); font-size: 11px; line-height: 1.6; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__consent label a { color: inherit; text-decoration: underline; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__consent .form-error { grid-column: 1 / -1; margin: 6px 0 0; padding: 0; text-align: left; }

/* honeypot: скрыто для людей и вне порядка табуляции; не display:none — часть ботов такие поля пропускает */
.gt-lead-form__trap { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.gt-lead-dialog .gt-lead-form .gt-lead-form__status { margin: 0 0 12px; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__status:empty { display: none; }
.gt-lead-form__status [role="alert"] { margin: 0; color: var(--gt-red-dark, #9a0100); font-size: 13px; line-height: 1.5; }

/* кнопка отправки — primary дизайн-системы (final-polish: 52 px, радиус 8, 14/600, отступы 14/22; --gt-red → --gt-red-deep);
   правило блока application-form «.form button» (градиент, 18 px regular, высота 50, радиус 0) здесь перекрывается */
.gt-lead-dialog .gt-lead-form .form-button { margin: 0; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__submit { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: auto; min-width: 0; min-height: var(--field-height, 52px); margin: 0; padding: 14px 22px; border: 1px solid transparent; border-radius: 8px; background: var(--gt-red, #dc0100); color: var(--gt-white, #fff); font: 600 14px/1.4 var(--font-body); text-transform: none; letter-spacing: normal; cursor: pointer; transition: background-color 180ms, color 180ms, border-color 180ms; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__submit:hover { background: var(--gt-red-deep, #b10000); color: var(--gt-white, #fff); }
.gt-lead-dialog .gt-lead-form .gt-lead-form__submit:focus-visible { outline: 2px solid var(--gt-black); outline-offset: 3px; }
.gt-lead-dialog .gt-lead-form .gt-lead-form__submit[disabled] { opacity: 1; cursor: wait; } /* 1134 по передаче от 1131: «один красный» — без бледности на время отправки, состояние показывает текст «Отправляем…» */

/* состояние «отправлено»: secondary — рамка --btn-secondary-line, прозрачный фон (как .gt-album__full в layout-c5) */
.gt-lead-dialog__done p:not(.gtyres-section-label) { margin: 0 0 24px; color: var(--gt-iron); font-size: 15px; line-height: 1.6; }
.gt-lead-dialog .gt-lead-dialog__done-close { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 0; padding: 14px 22px; border: 1px solid var(--btn-secondary-line, var(--gt-black)); border-radius: 8px; background: transparent; color: var(--gt-black); font: 600 14px/1.4 var(--font-body); cursor: pointer; }
.gt-lead-dialog .gt-lead-dialog__done-close:hover { background: var(--gt-paper); color: var(--gt-black); }
.gt-lead-dialog .gt-lead-dialog__done-close:focus-visible { outline: 2px solid var(--gt-black); outline-offset: 3px; }

@media (max-width: 767px) {
  .gt-lead-dialog { width: calc(100% - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: var(--radius-lg, 16px); }
  .gt-lead-dialog__card { padding: 24px 20px; }
  .gt-lead-dialog .gt-lead-form .gt-lead-form__captcha input { flex-basis: 140px; width: 140px; }
  /* v3: пока открыта мини-форма, панель разделов (1027; в 1118 — тот же класс body.gt-lead-open для нового дока) не видна сквозь подложку и не касается низа диалога */
  body.gt-lead-open .gt-mobile-dock, body.gt-lead-open .gt-mobile-quick-menu { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .gt-lead-dialog .gt-lead-form .gt-lead-form__submit { transition: none; }
}
