.feedback-form {
  width: 100%;
}

.feedback-form .form-group {
  margin-bottom: 15px;
}

.feedback-form label {
  display: block;
  margin-bottom: 5px;
}

.feedback-form input,
.feedback-form textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.feedback-form input:focus,
.feedback-form textarea:focus {
  border-color: #aa3f37;
  background: #fff;
}

.feedback-form button.submit-btn {
  display: block;
  width: 100%;
  padding: 10px 15px;
  background: #4196F0;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease;
  font-weight: 500;
}

.feedback-form button.submit-btn:hover {
  background: #4196F0;
}

/* Ошибки */
.form-group.has-error input,
.form-group.has-error textarea {
  border-color: #e74c3c;
  background: #ffecec;
}

.form-group.has-error label {
  color: #e74c3c;
}

.error-text {
  color: #e74c3c;
  font-size: 13px;
  margin-top: 4px;
}

/* Подсветка блока политики и капчи */
.feedback-form .form-group.has-error,
.feedback-form .policy-group.has-error,
.feedback-form .simple-math-captcha.has-error {
  border: 1px solid #e74c3c;
  border-radius: 8px;
  background: #fff5f5;
  padding: 8px 10px;
}


.feedback-form .simple-math-captcha {
  width: 100%;
}

/* Политика */
/* Общий контейнер блока политики */
.policy-group {
  display: flex;
  flex-direction: column; /* вертикальное выравнивание элементов */
  gap: 6px;
  margin-top: 10px;
}

/* Строка с чекбоксом и текстом */
.policy-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
  color: #222;
  flex-wrap: wrap;
}

/* Сам чекбокс */
.policy-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #aa3f37;
  cursor: pointer;
  margin: 0;
  flex-shrink: 0;
}

/* Текст рядом с чекбоксом */
.policy-label span {
  line-height: 1.4;
}

/* Ссылка */
.policy-label a {
  color: #aa3f37;
  text-decoration: none;
}

.policy-label a:hover {
  text-decoration: underline;
}

/* Ошибка под текстом */
.policy-group.has-error .error-text {
  margin-top: 2px;
}


/* Успех */
.form-success {
  display: flex;
  flex-direction: column;
  margin: 20px auto;
  padding: 15px;
  border-radius: 8px;
  background: #e0ffe3;
  border: 1px solid #00a84f;
  color: #007c3d;
  text-align: center;
  font-weight: 500;
}

.form-success button {
  margin-top: 10px;
  padding: 8px 15px;
  background: #aa3f37;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.form-success button:hover {
  background: #aa3f37;
}
