/* 1115 — короткая форма заявки блока vezuchi/application-form (form.gt-apply) и подсказка согласия #53 (1094) для всех форм.
   Отдаётся напрямую (short-form.php), dist не пересобирается. Токены — дизайн-система 1078/1090/1096: поля --field-height/--line/--radius-sm,
   подписи 12px/600, на графите акценты --gt-red-soft (--label-accent-on-dark), кнопка — роль primary (.submit из блока ролей 1078). */

/* Колонка формы: ≤560 px, левый край — по тексту заголовка (.form-header и .form делят один контейнер 1200/120); сетка блока (grid 944+236) снимается */
.application-form form.form.gt-apply { display: grid; grid-template-columns: minmax(0, 560px); justify-content: start; align-items: start; gap: 0; width: 100%; max-width: none; margin: 0; padding: 0; }
.application-form form.form.gt-apply > * { grid-column: 1; min-width: 0; width: 100%; max-width: none; }

/* Поля: телефон + имя одной строкой от 900 px, комментарий и проверка — во всю ширину колонки */
.gt-apply-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 20px; margin: 0; }
@media (min-width: 900px) {
  .gt-apply-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .gt-apply-field--message, .gt-apply-field--captcha { grid-column: 1 / -1; }
}
.gt-apply-field { position: relative; min-width: 0; width: auto; flex: none; }
.gt-apply-field label { display: block; margin: 0 0 8px; font: 600 12px/1.4 Montserrat, Arial, sans-serif; letter-spacing: 0; color: var(--gt-white, #fff); }
.gt-apply-field .form-optional { margin-left: 6px; font-weight: 400; color: rgba(255, 255, 255, .72); }
.application-form .gt-apply-field :is(input, textarea) { box-sizing: border-box; display: block; width: 100%; min-width: 0; margin: 0; padding: 12px 14px; height: var(--field-height, 52px); min-height: var(--field-height, 52px);
  border: 1px solid var(--line, #dedede); border-radius: var(--radius-sm, 8px); background: var(--field-bg, #fff); color: var(--gt-black, #111); font: 400 15px/1.4 Montserrat, Arial, sans-serif; }
.application-form .gt-apply-field :is(input, textarea)::placeholder { color: #767676; opacity: 1; }
/* Комментарий — одна строка, растёт при вводе (скрипт), без ручного resize */
.application-form .gt-apply-field textarea { height: var(--field-height, 52px); max-height: 240px; resize: none; overflow: hidden; line-height: 1.5; padding-top: 14px; }
.application-form .gt-apply-field :is(input, textarea):focus { outline: 2px solid var(--gt-red-soft, #f26d65); outline-offset: 2px; border-color: var(--gt-red-soft, #f26d65); }
/* Ошибка — только после проверки (класс is-invalid), не по :invalid до первого ввода */
.application-form .gt-apply-field.is-invalid :is(input, textarea) { border-color: var(--gt-red-soft, #f26d65); }
.application-form .gt-apply .form-error { position: static; display: block; min-height: 0; margin: 0; padding: 0; max-width: none; font: 400 12px/1.5 Montserrat, Arial, sans-serif; color: var(--gt-red-soft, #f26d65); }
.application-form .gt-apply .form-error:not(:empty) { margin-top: 6px; }
.application-form .gt-apply .form-error-success { display: block; justify-content: flex-start; margin: 0; }
.application-form .gt-apply .form-error-success:not(:empty) { margin-top: 14px; }
.gt-apply-field--captcha label span[data-gt-apply-question] { font-variant-numeric: tabular-nums; }
.gt-apply-field--captcha input { max-width: 156px; }
.gt-apply-trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Согласие, кнопка, подсказка — одной колонкой под полями */
.application-form .gt-apply .form-button { width: 100%; min-width: 0; max-width: none; margin-top: 20px; }
.application-form .gt-apply .checkbox-wrapper { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 0 10px; align-items: start; margin: 0 0 16px; }
.application-form .gt-apply .checkbox-wrapper input { width: 18px; height: 18px; min-width: 18px; max-width: none; margin: 1px 0 0; accent-color: var(--gt-red, #dc0100); cursor: pointer; }
.application-form .gt-apply .checkbox-wrapper label { font: 400 12px/1.6 Montserrat, Arial, sans-serif; color: rgba(255, 255, 255, .86); }
.application-form .gt-apply .checkbox-wrapper a { color: var(--gt-red-soft, #f26d65); text-decoration: underline; text-underline-offset: 2px; }
.application-form .gt-apply .form-error-soglasie { grid-column: 2; position: static; top: auto; width: auto; line-height: 1.5; }
.application-form .gt-apply button.submit { width: 100%; min-width: 0; margin: 0; }
.application-form .gt-apply button.submit:disabled { cursor: not-allowed; opacity: .58; }

/* Подсказка #53: видна, пока согласие не отмечено; в короткой форме — на графите, в модалке/контактах — цветом текста формы */
.gt-consent-hint { margin: 8px 0 0; font: 400 12px/1.5 Montserrat, Arial, sans-serif; color: inherit; opacity: .72; }
/* специфичность (0,3,1): на «Контактах» .gtyres-contact-layout p:not(.gtyres-section-label) задаёт p 16px/1.7 и margin 30 (1122) */
.application-form .gt-apply p.gt-consent-hint { margin: 8px 0 0; font: 400 12px/1.5 Montserrat, Arial, sans-serif; color: #fff; opacity: .72; }
.gt-consent-hint[hidden] { display: none; }
form.form:not(.gt-apply) .gt-consent-hint { margin-top: 6px; }

/* Контакты — под кнопкой, как просил владелец: телефон и мессенджеры одной строкой */
.application-form .gt-apply .gt-apply-contacts { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line-on-dark, #3b3d3f); }
.application-form .gt-apply .gt-apply-contacts .form-info-contact { flex-wrap: wrap; gap: 14px 24px; margin: 0; }
.application-form .gt-apply .gt-apply-contacts .form-info-contact a { height: auto; font-size: 18px; line-height: 1.3; }
.application-form .gt-apply .gt-apply-contacts .form-info-rec { font-size: 12px; color: rgba(255, 255, 255, .72); }

/* Сообщение об успехе — на месте полей (form.is-sent), контакты остаются под ним; читаемое на графите */
.application-form .gt-apply p.success-form-message { margin: 0 0 4px; max-width: 560px; font: 500 16px/1.5 Montserrat, Arial, sans-serif; color: #fff; }
.application-form .gt-apply.is-sent :is(.gt-apply-fields, .form-button, [data-gt-apply-status]) { display: none; }
.application-form form.form.gt-apply[hidden] { display: none; }

/* Вариант на бумаге (1122 — v2 пина AP): блок на «Контактах» (1427, .contact-page-form, секция rgb(244,244,244)) — те же поля, но цвета текста для светлого фона:
   подписи --gt-black, «необязательно» и подсказка --caption, ссылка согласия --gt-red, разделитель контактов --line, фокус --gt-red. По умолчанию (страницы услуг)
   форма стоит на фотографии/графите — правила выше. */
.application-form.contact-page-form .gt-apply-field label { color: var(--gt-black, #111); }
.application-form.contact-page-form .gt-apply-field .form-optional { color: var(--caption, #4c4c4c); }
.application-form.contact-page-form .gt-apply-field :is(input, textarea):focus { outline-color: var(--gt-red, #dc0100); border-color: var(--gt-red, #dc0100); }
.application-form.contact-page-form .gt-apply-field.is-invalid :is(input, textarea) { border-color: var(--gt-red, #dc0100); }
.application-form.contact-page-form .gt-apply .form-error { color: var(--gt-red, #dc0100); }
.application-form.contact-page-form .gt-apply .checkbox-wrapper label { color: var(--gt-black, #111); }
.application-form.contact-page-form .gt-apply .checkbox-wrapper a { color: var(--gt-red, #dc0100); }
.application-form.contact-page-form .gt-apply .gt-consent-hint { color: var(--caption, #4c4c4c); opacity: 1; }
.application-form.contact-page-form .gt-apply .gt-apply-contacts { border-top-color: var(--line, #dedede); }
.application-form.contact-page-form .gt-apply .gt-apply-contacts .form-info-rec { color: var(--caption, #4c4c4c); }
.application-form.contact-page-form .gt-apply p.success-form-message { color: var(--gt-black, #111); }

/* 390: поля и кнопка во всю ширину колонки (1090/1096), высота 48 */
@media (max-width: 767px) {
  .application-form form.form.gt-apply { grid-template-columns: minmax(0, 1fr); }
  .application-form .gt-apply-field :is(input, textarea) { height: var(--field-height, 48px); min-height: var(--field-height, 48px); font-size: 16px; }
  .application-form .gt-apply-field textarea { height: var(--field-height, 48px); padding-top: 12px; }
  .gt-apply-field--captcha input { max-width: 140px; }
  .application-form .gt-apply .gt-apply-contacts .form-info-contact { flex-direction: column; align-items: flex-start; gap: 12px; }
}
