/* home-visa.ru — панель cookie, заглушка отзывов, строка документов в подвале, галочка согласия в формах.
   Цвета сайта: голубой #49a8ff, текст #1f2a44. Подключается на всех страницах (tools/mirror_tilda.py, tools/build_legal.py). */
.t657 { display: none !important; }            /* прежняя плашка «Мы используем куки…» — заменена панелью ниже */

.hv-cookie-panel {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 2147483000;
  max-width: 560px; margin: 0 auto; padding: 20px 22px;
  background: #fff; color: #1f2a44; border-radius: 16px;
  box-shadow: 0 18px 48px -12px rgba(16, 40, 80, .35), 0 0 0 1px rgba(16, 40, 80, .08);
  font: 400 14px/1.5 'Onest', 'TildaSans', Arial, sans-serif;
}
.hv-cookie-panel[hidden] { display: none; }
.hv-cookie-title { margin: 0 0 6px; font-weight: 600; font-size: 16px; }
.hv-cookie-text { margin: 0 0 14px; color: #4a5672; }
.hv-cookie-text a, .hv-reviews-note a { color: #1d7fe0; }
.hv-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hv-cookie-actions .hv-btn { flex: 1 1 180px; }
.hv-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px;
  border: 0; border-radius: 30px; background: #49a8ff; color: #fff; cursor: pointer;
  font: 600 14px/1.2 'Onest', 'TildaSans', Arial, sans-serif; transition: background-color .2s, transform .1s;
}
.hv-btn:hover { background: #2f95f3; }
.hv-btn:active { transform: scale(.98); }
.hv-btn:focus-visible, .hv-legal-bar a:focus-visible, .hv-legal-bar button:focus-visible { outline: 2px solid #1d7fe0; outline-offset: 3px; }

.hv-reviews-gate {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 24px; text-align: center; background: #f4f8ff; border: 1px solid #e3ecfa; border-radius: 8px;
  font: 400 14px/1.45 'Onest', 'TildaSans', Arial, sans-serif; color: #1f2a44;
}
.hv-reviews-title { margin: 0; font-weight: 600; font-size: 16px; }
.hv-reviews-note { margin: 0; font-size: 12px; color: #5b6782; max-width: 300px; }

.hv-legal-bar { background: #2b2b2b; color: #b9b9b9; font: 400 13px/1.5 'Onest', 'TildaSans', Arial, sans-serif; }
.hv-legal-bar__in { max-width: 1160px; margin: 0 auto; padding: 14px 20px 18px; display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: center; }
.hv-legal-bar a, .hv-legal-bar button { color: #d9d9d9; text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }
.hv-legal-bar a:hover, .hv-legal-bar button:hover { color: #fff; text-decoration: underline; }
.hv-legal-bar__op { flex-basis: 100%; color: #9a9a9a; font-size: 12px; }

/* галочка согласия, которую хук добавляет в формы без неё (leads/lead_hook.js) */
.hv-consent-group .t-checkbox__labeltext a { color: #49a8ff; }
.hv-consent-error .t-checkbox__indicator { box-shadow: 0 0 0 2px #e5484d; }
/* горизонтальные формы (поля и кнопка в ряд — шапки и «Готовы начать?» страниц услуг): под рядом карточка кончается,
   над рядом место есть. Галочка — над полями, на светлой плашке (читается и на фото, и на тёмно-синем), вне потока —
   ширину и высоту формы не меняет */
.tn-form_horiz .hv-consent-group { position: absolute; left: 0; bottom: 100%; z-index: 1; flex: none; height: auto; margin: 0 0 10px !important; }
.tn-form_horiz .hv-consent-group .t-checkbox__control {
  width: max-content; max-width: calc(100vw - 32px); padding: 5px 12px 5px 8px; border-radius: 10px;
  background: rgba(255, 255, 255, .94); color: #4a5672 !important; font-size: 12px !important; line-height: 1.35;
}
.tn-form_horiz .hv-consent-group .t-checkbox__indicator { border-color: #8fa6c8 !important; opacity: 1; }
.tn-form_horiz .hv-consent-group .t-checkbox__labeltext a { color: #1d7fe0; }
/* над полями тесно (телефоны) — хук ставит галочку под кнопку и удлиняет карточку (top считает leads/lead_hook.js) */
.hv-consent-group.hv-consent-below { position: absolute; left: 0; bottom: auto; z-index: 1; flex: none; height: auto; margin: 0 !important;
  width: max-content !important; max-width: none !important; }   /* ширину ограничивает хук (max-width подписи по карточке) */
.hv-consent-below .t-checkbox__control { width: auto !important; white-space: normal; padding: 0 !important; background: none !important; }

@media (max-width: 640px) {
  .hv-cookie-panel { left: 10px; right: 10px; bottom: 10px; padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .hv-btn { transition: none; } }
