/* Сообщения об ошибках валидации */
.error-msg{position:absolute;top:100%;left:0;background:#ff4444;color:white!important;padding:8px 12px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000;margin-top:5px;}
.error-msg::before{content:'';position:absolute;top:-5px;left:15px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #ff4444;}
.hide{display:none;}
.err{position:relative;}
.err:after{display:block;content:' \2297';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:26px;line-height:1;color:red;width:auto;height:auto;z-index:99;}

/* Прелоадер при отправке формы */
.loader{margin:auto;width:30px;padding:4px;aspect-ratio:1;border-radius:50%;background:#fff;--_m:conic-gradient(#0000 10%,#000),linear-gradient(#000 0 0,#eee) content-box;-webkit-mask:var(--_m);mask:var(--_m);-webkit-mask-composite:source-out;mask-composite:subtract;animation:l3 1s infinite linear;}
@keyframes l3{to{transform:rotate(1turn)}}

/* Оформление основной формы лидов в стиле сайта */
#vsl-form.leadform{
  margin-top:24px;
  padding:24px 22px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 14px 40px rgba(0,0,0,0.06);
  animation:fadeUp .5s .4s ease both;
}

.leadform .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
  margin-bottom:18px;
}

.leadform .form-group{
  display:flex;
  flex-direction:column;
  gap:6px;
  position:relative;
}

.leadform .form-group.full{
  grid-column:1/-1;
}

.leadform label{
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  letter-spacing:.04em;
  text-transform:uppercase;
}

.leadform input[type="text"],
.leadform input[type="email"],
.leadform input[type="tel"]{
  width:100%;
  padding:11px 12px;
  border-radius:8px;
  border:1px solid var(--border);
  background:rgba(250,248,244,0.65);
  font-size:14px;
  color:var(--text);
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.leadform input[type="text"]::placeholder,
.leadform input[type="email"]::placeholder,
.leadform input[type="tel"]::placeholder{
  color:#a8a29e;
}

.leadform input[type="text"]:focus,
.leadform input[type="email"]:focus,
.leadform input[type="tel"]:focus{
  border-color:var(--teal);
  background:var(--white);
  box-shadow:0 0 0 1px rgba(13,115,119,.12),0 6px 18px rgba(13,115,119,0.12);
}

/* Кнопка отправки в стиле основной CTA */
.leadform .btn-submit{
  width:100%;
  margin-top:10px;
  padding:14px 22px;
  background:var(--teal);
  border:none;
  border-radius:10px;
  color:#fff;
  font-family:"Source Sans 3",sans-serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 6px 24px rgba(13,115,119,.25);
  transition:background .18s ease,transform .12s ease,box-shadow .18s ease;
}

.leadform .btn-submit:hover{
  background:var(--teal-lt);
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(13,115,119,.32);
}

.leadform .btn-submit:active{
  transform:translateY(0);
  box-shadow:0 4px 18px rgba(13,115,119,.22);
}

/* Строка доверия под кнопкой */
.leadform .trust-row{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  font-size:11px;
  color:var(--muted);
}

.leadform .trust-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.leadform .trust-item svg{
  color:var(--teal);
}

/* Адаптив: форма в один столбец на мобильных */
@media (max-width:600px){
  #vsl-form.leadform{
    padding:18px 16px;
    margin-top:18px;
  }
  .leadform .form-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
}
