/* Контейнер формы (без внешних рамок) */
.invite-form{background:#333;border-radius:10px;padding:30px 40px 24px;color:#fff}

/* Сетка */
.invite-form .flex{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
.invite-form .field{flex:1 1 30%;min-width:250px;display:flex;flex-direction:column;position:relative}

/* Подписи и звёздочки */
.invite-form .field label{margin-bottom:6px;font-size:15px;color:#fff;font-weight:500}
.invite-form .field label .star{color:#EB5757;margin-left:6px}

/* Инпуты */
.invite-form input[type="text"],
.invite-form input[type="email"],
.invite-form input[type="tel"],
.invite-form input[type="password"]{
  width:100%;height:48px;border:2px solid #1B7B6A;border-radius:5px;padding:0 20px;
  font-size:16px;color:#333;transition:.2s;background:#fff
}
.invite-form input:focus{border-color:#1B7B6A;box-shadow:0 0 4px 2px rgba(27,123,106,.5);outline:none}

/* Ошибки */
.invite-form .error-text{font-size:14px;color:#EB5757;margin-top:5px}
.invite-form input.error{border-color:#EB5757}

/* Кнопка */
.invite-form button{
  height:48px;background:#1B7B6A;border:1px solid #fff;border-radius:5px;color:#fff;
  font-weight:500;text-transform:uppercase;padding:0 25px;cursor:pointer;transition:.3s;width:100%
}
.invite-form button:hover{background:#146458}

/* Чекбокс согласия */
.invite-form .licence_block{margin-top:15px;display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#fff}
.invite-form .licence_block input[type="checkbox"]{margin-top:3px}
.invite-form .licence_block a{color:#4BC0C8;text-decoration:underline}
.invite-form .licence_block a:hover{text-decoration:underline}

/* Подвал текста под формой */
.invite-form p{font-size:14px;color:#fff;margin-top:10px}

/* Капча */
.invite-form .captcha-row{display:flex;align-items:center;gap:16px;margin-top:10px}
.invite-form .captcha-row img{border-radius:6px}
.invite-form .captcha-row .captcha_input input{width:260px}

/* Сообщения сверху (если вдруг используем) */
.form-errors{color:#EB5757;margin:0 0 12px 0}
.form-success{color:#4CAF50;margin:0 0 12px 0}

/* Ссылки внутри формы */
.invite-form a{color:#4BC0C8;text-decoration:underline}
.invite-form a:hover{text-decoration:underline}

/* Кнопка только справа, не на всю ширину */
.invite-form .form-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
.invite-form .form-footer button {
  width: auto;        /* чтобы не растягивалась */
  min-width: 260px;   /* как в макете */
}

/* Чекбокс: инпут слева, текст справа, выравнивание по макету */
.invite-form .licence_block { margin-top: 10px; }
.invite-form .licence_label {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 14px; color: #fff;
}
.invite-form .licence_label input[type="checkbox"] { margin-top: 3px; }

/* Цвет ссылок в форме (по макету) */
.invite-form a { color: #1B7B6A; text-decoration: underline; }
.invite-form a:hover { text-decoration: underline; }

/* Капча в одну линию + отступы */
.invite-form .captcha-row {
  display: flex; align-items: center; gap: 16px; margin-top: 12px;
}
.invite-form .captcha-row img { border-radius: 6px; }
.invite-form .captcha-row .captcha_input input {
  width: 200px; height: 48px; border: 2px solid #1B7B6A; border-radius: 5px; padding: 0 14px;
}

/* Ошибки под полями (включая капчу) */
.invite-form .error-text { font-size: 14px; color: #EB5757; margin-top: 5px; }
.invite-form input.error { border-color: #EB5757; }

/* 4 колонки: Имя, Телефон, Email, Кнопка */
.invite-form .align-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-end; /* выровнять низ и кнопку */
}
.invite-form .align-fields .field { flex: 0 1 23%; min-width: 240px; }

/* Кнопка в той же строке, справа от email */
.invite-form .field--btn { display: flex; justify-content: flex-end; }
.invite-form .field--btn button { width: 100%; min-width: 220px; }

/* Подпись: звездочка + название в одну строку */
.invite-form .field .caption {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 15px;
  color: #fff;
  font-weight: 500;
}
.invite-form .field .star { color: #EB5757; line-height: 1; }

/* Увеличенный чекбокс (~2x) */
.invite-form .licence_block input[type="checkbox"]{
  transform: scale(1.8);
  transform-origin: left center;
  margin-right: 12px;
}

/* Цвет ссылок как на макете */
.invite-form a { color: rgb(27,123,106) !important; text-decoration: underline; }
.invite-form a:hover { text-decoration: underline; }

/* Капча в линию */
.invite-form .captcha-row {
  display: flex; align-items: center; gap: 16px; margin-top: 12px;
}
.invite-form .captcha-row img { border-radius: 6px; }
.invite-form .captcha-row .captcha_input input {
  width: 200px; height: 48px; border: 2px solid #1B7B6A; border-radius: 5px; padding: 0 14px;
}

/* Ошибки под полями */
.invite-form .error-text { font-size: 14px; color: #EB5757; margin-top: 5px; }
.invite-form input.error { border-color: #EB5757; }

/* Заголовок поля и звездочка в одну строку */
.invite-form .field .caption{
  display:inline-flex;            /* в одну строку */
  align-items:center;
  gap:6px;
  white-space:nowrap;             /* запрет переноса */
  margin-bottom:6px;
  font-size:15px;
  color:#fff;
  font-weight:500;
}

/* Сама звездочка рядом с текстом */
.invite-form .field .caption .star{
  display:inline-block !important;
  position:static !important;     /* если где-то было absolute */
  margin:0;
  line-height:1;
  color:#EB5757;
}

/* если тема рисует дополнительную звездочку вне label — прячем её */
.invite-form .field > .star{ display:none !important; }
