/* Капча «Во Имя Тепла».
   У темы :root{font-size:10px}, поэтому размеры только в px — rem уезжает. */

.vt-captcha {
  margin: 0 0 18px;
}

.vt-captcha__label {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.3;
}

.vt-captcha__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}

/* --- картинка с кодом --- */

.vt-captcha__image {
  position: relative;
  flex: 0 0 auto;
  line-height: 0;
  border: 1px solid #e2d9c6;
  border-radius: 8px;
  overflow: hidden;
  background: #fff7ea;
}

.vt-captcha__image img {
  display: block;
  width: 180px;
  height: 56px;
  max-width: 100%;
  user-select: none;
  -webkit-user-select: none;
}

.vt-captcha__image.is-loading img {
  opacity: .35;
  transition: opacity .15s ease;
}

.vt-captcha__refresh {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 56px;
  padding: 0;
  border: 1px solid #e2d9c6;
  border-radius: 8px;
  background: #fff;
  color: #292a30;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .3s ease;
}

.vt-captcha__refresh:hover,
.vt-captcha__refresh:focus-visible {
  background: #f5be44;
  border-color: #e0a92c;
  outline: none;
}

.vt-captcha__refresh.is-spinning {
  transform: rotate(-360deg);
}

/* --- поле ввода --- */

.vt-captcha__field {
  flex: 1 1 190px;
  min-width: 160px;
}

.vt-captcha__input.ui-input,
.vt-captcha__input {
  width: 100%;
  height: 56px;
  padding: 0 14px;
  font-size: 18px;
  letter-spacing: 3px;
  text-transform: uppercase;
  border-radius: 8px;
}

.vt-captcha__input::placeholder {
  font-size: 14px;
  letter-spacing: normal;
  text-transform: none;
}

.vt-captcha__hint {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: #8a8a8a;
}

/* --- ошибка --- */

.vt-captcha__error {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.35;
  color: #d64545;
}

.vt-captcha.is-error .vt-captcha__input {
  border-color: #d64545;
  box-shadow: 0 0 0 1px #d64545 inset;
}

.vt-captcha.is-error .vt-captcha__image {
  border-color: #d64545;
}

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

.vt-captcha__trap {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

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

@media (max-width: 480px) {
  .vt-captcha__row {
    gap: 10px;
  }

  .vt-captcha__field {
    flex: 1 1 100%;
  }
}

/* --- капча внутри попапов темы --- */

.popup .vt-captcha,
.fancybox-content .vt-captcha {
  margin-bottom: 14px;
}
