.form-wrap {
  --form-text: #333;
  --form-border: #d9d9d9;
  --form-bg: #eef2f6;
  --form-note: #666;
  --form-required-bg: #59c7b4;
  --form-required-text: #fff;
  --form-button-bg: #f3f3f3;
  --form-button-text: #777;
  --form-button-border: #a8a8a8;
  --form-focus: #9ec5ff;
}

.form-wrap * {
  box-sizing: border-box;
}

.form-wrap .wpcf7 {
  width: 100%;
}

.form-wrap .wpcf7 form {
  margin: 0;
}

.form-wrap .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap input[type="number"],
.form-wrap input[type="url"],
.form-wrap select,
.form-wrap textarea {
  width: 100%;
  max-width: 100%;
  font-size: 16px;
  line-height: 1.6;
  color: var(--form-text);
  background: var(--form-bg);
  border: 1px solid var(--form-border);
  border-radius: 4px;
  padding: 14px 16px;
  appearance: none;
}

.form-wrap textarea {
  min-height: 220px;
  resize: vertical;
}

.form-wrap input:focus,
.form-wrap select:focus,
.form-wrap textarea:focus {
  outline: none;
  border-color: var(--form-focus);
  box-shadow: 0 0 0 2px rgba(158, 197, 255, 0.2);
}

.form-wrap input::placeholder,
.form-wrap textarea::placeholder {
  color: #8e8e8e;
}

.form-wrap .required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: var(--form-required-text);
  background: var(--form-required-bg);
  border-radius: 3px;
  white-space: nowrap;
}

.form-wrap .form-note,
.form-wrap .field-note,
.form-wrap .check-note {
  font-size: 14px;
  line-height: 1.8;
  color: var(--form-note);
}

.form-wrap .form-note {
  margin: 0 0 20px;
}

.form-wrap .field-note {
  margin: 12px 0 0;
}

.form-wrap .check-note {
  margin: 0 0 10px;
}

.form-wrap .wpcf7-not-valid-tip {
  margin-top: 8px;
  font-size: 13px;
}

.form-wrap .wpcf7 form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.7;
}

.form-wrap .wpcf7-list-item {
  margin-left: 0;
}

.form-wrap .wpcf7-spinner {
  display: block;
  margin: 12px auto 0;
}

.contact-intro {
  max-width: 760px;
  margin: 20px auto 30px;
  font-size: 14px;
  color: #000;
  line-height: 1.8;
  text-align: left;
  padding: 20px 0;
}